文章目录
- 构造器
- 构造器的特点
- this关键字
- 举个例子吧
- 其他链接
不难理解,so easy!!!
构造器
People people = new People();
// People类型:决定着对象的类型(在内存中的构造形式)
// people对象名称,在栈内存当中
// new 关键字:在栈内存当中开辟内存空间
// People() :构造器给对象赋初值
构造器的特点
- 构造器与类同名
- 创建对象的时候,new后面跟的是构造器
- 在每个类当中都有默认的不会显示的无参构造器,如果我们在类当中重写一个构造器,那么无参构造器将会被覆盖,不能再被使用(能重写构造器)
- 构造器没有返回值,有返回值不是构造器
- 在一个类当中,能有多个构造器,名字是相同的,但参数不一样
this关键字
- this代表当前对象
- this不能用在static当中,static代表是类,this代表的是对象,有类不一定有对象
- this能调用static修饰的方法和变量,类的东西被对象共享
this的用法: - this.属性名:在方法中局部变量名和成员(全局)变量名相同时。我们用this来区分全局变量和局部变量,this调用的一定是属于对象能第哦啊用的变量是全局变量
- this.方法名:代表当前正在运行的对象调用该方法
- this():不能在普通方法中使用,只能在构造器当中,还必须是第一条语句,调用的是一个构造器,
- 只要在this的()中赋值就行
- 在一个类下两个构造方法不能通过this()相互调用
- 不能与super()同时使用
举个例子吧
class Test{int age;char sex;String name;public Test(){/*this.age = 1970;this.sex = '男';this.name = "YXZ";*/this(20, '男', "YXZ");}public Test(int age, char sex){this.age = age;this.sex = sex;}public Test(int age, char sex, String name){this.age = age;this.sex = sex;this.name = name;}void MytoString(){System.out.println("年龄:" + this.age + " 性别:" + this.sex + " 名字:" + this.name);}
}public class Test1 {public static void main(String[] args) {Test test = new Test();test.MytoString();Test test2 = new Test(18, '女', "齐");test2.MytoString();}}
运行结果:
年龄:20 性别:男 名字:YXZ
年龄:18 性别:女 名字:齐
其他链接
【Java】还不懂this关键字?一分钟彻底弄懂this关键字
this关键字