首页 >> 方法大全

Java基础——方法、this()的使用

2022-05-14 方法大全 201 作者:考证青年

文章目录

1、构造函数

构造函数名必须与类名相同。

	public 构造方法(){
			}

1.1、构造函数重载(多态)

1、构造函数重载是指编写多个不同参数的构造函数。构造函数重载是为了实现构造函数的重用,重载是java多态性的一种表现。

2、方法重载有如下规则:

A:方法名相同;

B:方法参数不同(类型、顺序、数量);

示例:构造函数名称相同,传递的参数值不同,调用不同

1public 构造方法名(){
				
}
public Student() {
	System.out.println("--------无构造函数-----------");
}
	/**
  	* 有参构造函数
	*/
public Student(long id,String name){
	this.id = id;
	this.name = name;
}

2、方法重载(多态)

方法签名:方法的标识关键字。

方法签名=方法名称+参数类型列表;

Java 类中不能存在具有相同方法签名的方法;

方法重载:方法名相同但方法签名不同的方法,重载实现函数式多态性,重载的方法经常相互重用。

例子:同一个方法名,调用不同的参数,调用不同的方法

			public int add(int a,int b){
				return a+b;
			}
			public float add(float a,float b){
				return a+b;
			}.
			public float add(float a,int b){
				return a+b;
			}

2.1、方法参数传递(带参数的方法)

Java方法中传参只有一种方式:传值

基本类型是其值的副本;

解决方法:基本类型给出的值就是它的值。

引用类型是引用值(地址)的副本;

解决方法:将传入的值加上引用类型给定的值

例子:int a,int b 是传入的参数

public int add(int a,int b){
	return a+b;
}

3、方法调用

java类主要包含:属性和方法。

方法:将真实事物的动态属性抽象为java对象的方法。每种方法都包含不同的功能。但是在java项目中,往往需要多个函数组合使用方法,可能会出现方法之间的调用。

3.1、调用方式  1、直接调用;

2、对象调用;

3、类名调用; 3.1.1、直接调用

要求:被调用的方法必须与当前方法在同一个类中

格式:方法名();

注意:修改后的方法只能调用修改后的变量和方法

例子:

publicvoid t1() {
	System.out.println("this  is  方法调用一.t1()........");
}
	
publicvoid t2() {
	t1();//直接调用t1();
	System.out.println("this  is  方法调用一.t2()........");
}

3.1.2、对象调用

要求:在调用对象的方法之前必须已经创建了对应的对象【属性和方法属于对象】

格式:.();

例子:

publicvoid t1() {
	//创建相应的对象
	方法调用二  f=new 方法调用二();
	//使用对象调用
	f.t2();
	System.out.println("这是对象调用t1()..........");
}
	
publicvoid t2() {
	System.out.println("这是对象调用t2()...........");
}

3.1.3、类名调用

要求:被调用的方法必须经过修饰

格式:.();

思考:修改方法后,该方法将不再属于对象方法,而是属于公众。

注意:修改后的方法可以使用类名调用,也可以直接由对象调用。建议使用类名调用。

例子:

publicvoid t1() {
	方法调用三.t2();//类名调用
	t2();//直接调用
	方法调用三  f=new 方法调用三();
	f.t2();//对象调用
	System.out.println("这是t1......");
}
	
publicstaticvoid t2() {
	System.out.println("这是t2......");
}

4、关键字 this([参数值, 参数值,…]) this 表示类名。类名()==this();

this.

this 表示对对象的引用

this表示类名,用于解析构造函数调用。

格式:this([参数,参数,…])

要求:

1、this([, , ...]) 只能写在构造函数中,不能写在普通函数中。

2、this([, ,...]) 必须是方法主体中有效代码的第一行。 java系统不允许构造函数之间直接/间接调用形成无限循环。通常作为构造函数相互调用的出口。

例子:

publicclass Demo {
	public Demo() {
		//Demo(20);直接调用
		this(20);//必须编写在有效代码第一行;
		System.out.println("demo()........无....");
	}
	public Demo(int a) {
		//this();//this()  等价于  Demo();
		System.out.println("demo(int  a)........有....");
	}
}

4.1、这个属性

功能:

1.解决全局变量和局部变量的名称冲突。处理了就近原则后,就不能使用全局变量的问题了。

2.解决全局变量和参数名冲突。处理了就近原则后,就不能使用全局变量的问题了。

publicclass this关键字二 {
	int a=25;//全局变量相当于属性
	public void show() {
		int a=50;//局部变量
		//当全局变量和局部变量命名冲突后,java程序按照"就近原则"处理
		System.out.println("a的值为:"+a);//50
		//this关键字二  t=new this关键字二();
		//操作对象的属性:对象名.属性名;
		//System.out.println("a的值为:"+t.a);
		System.out.println("a的值为:"+this.a);
	}
	
	//封装
	public void sum(int a) {//参数的编写实质为局部变量
		//编写一个局部变量测试
		//int a=10;//java程序中同一作用域不能声明相同变量名的变量
		//当全局变量和参数命名冲突后,java程序按照"就近原则"处理
		System.out.println("a的值为:"+a);
		System.out.println("a的值为:"+this.a);
	}	
	
	public static void main(String[] args) {
		this关键字二  t=new this关键字二();
		t.show();
		t.sum(99);//必须按照参数...传递值
	}
}

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了