java基础关键字之this 和 super Object 和包装类

this关键字
super关键字
对象实例化过程

this关键字
它在方法内部使用,即这个方法所属对象的引用;
它在构造器内部使用,表示该构造器正在初始化的对象
this代表当前的对象,可以调用类的属性,方法和构造器。(当前方法的调用者)

使用情况 :

1.当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加this来表明该变量是 类成员(因为变量具有就近原则,而javac只能识别当前位置较近的变量。)
this区分成员变量和局部变量。

2.在类的实例方法中,代表使用该方法的当前对象。如果使用当前对象的成员变量或成员方法可以在其前面添加this,增强程序的阅读
3.this在类的构造器中使用,构造器相互调用的特殊格式。(此时this代表该构造方法所创建的对象)

1.使用this()必须放在构造器的首行!
2.使用this调用本类中其他的构造器,保证至少有一个构造器是不用this的。避免造成死循环。

【类方法【static 方法】不能使用this关键字】,因为this代表当前对象,而类方法可以通过类名.方法的形式调用,此时可能还没有任何对象产生

class Person{ // 定义Person类
private String name ;
private int age ;
public Person(){ // 无参构造
System.out.println(“新对象实例化”) ;
}
public Person(String name){
this(); // 调用本类中的无参构造方法
this.name = name ;
}
public Person(String name,int age){
this(name) ; // 调用有一个参数的构造方法
this.age = age;
}
public String getInfo(){
return “姓名:” + name + “,年龄:” + age ;
} }

super 关键字

java中用super 来调用父类的指定操作。
用来区分子类和父类中同名的属性和方法,在构造器中总是显式或隐式调用super.()父类构造器。
super可以访问父类定义的属性和方法
super关键字可用于在子类的构造方法中调用父类的构造器。
注意事项:
当子类和父类出现同名的成员时,可以使用super来区分
super代表父类内存空间的标识,而this 代表本类对象的引用。

构造器
1.子类中所有的构造器默认都会访问父类中空参数的构造器super();在子类中默认,自动,隐式调用super();
一旦在子类构造器中显式的调用super(…)语句,那么隐式的super()语句将不再提供。
2.当父类中没有空参数的构造器时,子类的构造器必须通过this(参数列表)或者super(参数列表)语句指定调用本类或者父类中相应的构造器,且必须放在构造器的第一行。
3.如果子类构造器中既未显式调用父类或本类的构造器,且父类中又没有无参的构造器,则编译出错

理解:
子类构造器中总是直接或者间接调用父类的构造器,且总是先调用父类的构造器。【父类构造器必须先于子类构造器】
构造器2大定律
1所有的类都必须有构造器。
2子类构造器必须先调用父类的构造器

子类对象的实例化过程:


1 object 类

2 == 与 equals 方法的比较

3 包装类(Wrapper Class)

object 类

java中object 类是所有类的根父类。

public Object() 构造器

public boolean equals (Object obj) 对象比较内容是否相等

public int hashCode() 获取Hash码值,Hash码值用来区别对象,每一个new出来的对象都有不同的码值

public String toString() 返回该对象的字符串表示。返回字符串:类名@Hash码值,一般需要重写toString(),

protected object clone() 创建并返回此对象的副本

protected void finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

Class

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值