java 入门 3.20

今日所学:

1.如何构造函数以及构造函数注意事项

2.this. 的作用之一

3.成员函数的重载

4.局部变量的覆盖

5.setter和getter函数

package human;

public class Child {
	
	/*构造函数:在创建对象的时候调用   基本作用:初始化数据
	//系统自己定义了一个无参的构造函数  构造函数没有返回类型  即使是void也不行 ,因为系统定义的构造函数返回的是一个实例
	//自定义构造函数 格式 public 类的名字 (参数列表){}
	 定义构造函数注意事项
	1.函数名称必须和类名称保持一致  注意大小写
	2.构造函数不能有返回类型
	3.如果我们自定义了构造函数一定要再定义一个无参构造函数
	4.构造函数可以重载  重载就是可以有相同名称的函数,但函数的参数个数或参数类型或返回类型 不同
	 */
	int age;
	String name;
	String gender;
	int var=20;
	
	public Child(){
		this.age=5;
	}
	
	public Child(String name){
		this.name=name;
	}
	
	public Child(String name,int age,String gender){//函数名称必须和类一致,否则会将该函数看作成员函数
		this.age=age;
		this.name=name;
		this.gender=gender;
		//将参数分别赋值给当前实例对应的属性,this在这里代表当前实例,类似于C语言的指针  指向当前的对象
	}
    void printinfor(){
    	System.out.println(this.name +" is "+age+" years old!");
    }
    

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	//理解成员函数的重载,参数类型不同,参数个数不同,返回值类型不同
	public void f(int a){
		System.out.println("a="+a);
	}
	
	//局部变量的覆盖    当函数中的局部变量和类的成员变量一样的时候,局部变量覆盖成员变量
	
	public void f(){
		int var=30; //局部变量  区别于类的成员变量 var
		System.out.println("var="+var);//此处 局部变量覆盖了成员变量  输出的值为30
	
		//要使用类变量var   需在变量前加this.
		System.out.println("成员变量var="+this.var);
		//所以在函数中避免定义与类的成员变量一致的局部变量  以免引起逻辑错误
	}
	
	public int f(int a,int b){
		System.out.println("a="+a);
		return a;
	}

	public static void main(String[] args) {
		int age=10;
		String name="Tom";
		String gender="男";
		// TODO Auto-generated method stub
		//Child c=new Child();   会出现错误- The constructor Child() is undefined
   //如果我们没有定义构造函数 系统会默认提供一个无参构造函数  如果我们定义了构造函数系统将不再提供
		Child c=new Child(name,age,gender); 
		c.printinfor();
		
		Child c1=new Child("zhang san");
		c1.printinfor();
		
		Child c2=new Child();
		c2.gender="女";
		c2.name="jane";//外部访问数据,不安全  我们需要有共同的方法  setter 
		System.out.println("将c2的属性  姓名 由Jane改为Lily");
		c2.setName("Lily");
		c2.printinfor();
		
		System.out.println("将c2的姓名修改为:"+c2.getName());
		
		System.out.println("下面演示变量覆盖");
		c2.f();
		
		
		
		
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值