class Person { private String name; private int age; //定义一个Person类的构造函数 Person() //构造函数, 而且是空参数的, 构造函数的名和类名相同 { System.out.println("person run"); } public void speak() { System.out.println(name+":"+age); } } class ConsDemo { public static void main(String[] args) { Person p = new Person(); } } /* 构造函数: 构建创造对象时调用的函数. 作用: 可以给对象进行初始化 创建对象都必须要通过构造函数初始化 一个类中如果没有定义过构造函数, 那么该类中会有一个默认的空参数构造函数. 如果在类中定义了指定的构造函数,那么类中默认构造函数就没有了. 构造函数可以直接调用一般函数, 但是一般函数不能直接调用构造函数, 如果想调用, 就要new一下 */ /*******************************************************************************/ class Person { private String name; private int age; Person(String name) { this.name = name; //当局部变量和成员变量重名时, 成员变量要加上this. } public void speak() { System.out.println(name); } } class Demo { Person p = new Person("哈哈"); p.speak(); //哈哈 } /* 当成员变量和局部变量重名时,可以用关键字this来区分. this: 代表对象. 代表哪个对象呢? 当前对象 this就是所在函数所属对象的引用. 简单说: 哪个对象调用了this所在的函数, this就代表哪个对象. */ /*************************************************************************/ //this的第二个用法. //构造函数中调用构造函数 //注意: 只能定义在构造函数的第一行, 因为初始化动作要先执行. class Person { private String name; private int age; Person(String name) { this.name = name; } Person(String name,int age) { this(name); //调用上面那个构造函数,给name赋值 this.age = age; } public void speak() { System.out.println(name+":"+age); } } class ThisDemo { public static void main(String[] args) { Person p = new Person("旺财",30); p.speak(); Person p1 = new Person("小强"); p1.speak(); } } /***************************************************************************/ //this关键字的应用 class Person { private String name; private int age; Person(String name) { this.name = name; } Person(String name,int age) { this(name); //调用上面那个构造函数,给name赋值 this.age = age; } public void speak() { System.out.println(name+":"+age); } //判断是否是同龄人 public boolean compare(Person p) { /* if(this.age==p.age) return true; else return false; */ return this.age==p.age; } } class ThisDemo { public static void main(String[] args) { Person p1 = new Person("aa",30); Person p2 = new Person("zz",12); p1.compare(p2); } }
java this构造函数_Java学习笔记之构造函数&this
最新推荐文章于 2024-04-29 00:15:00 发布