标签:rri cal 相等 ash style str 外部 this his
当父类已存在的方法无法满足子类需求的时候,就覆写父类的此方法。
①子类的方法签名必须和父类的一致;
②子类的权限修饰符必须大于或者等于父类的权限修饰符(权限修饰符从小到大为:private<默认不写<protected<public);
③子类的返回值类型必须小于或者等于父类的返回值类型;
①非私有化的实例行为(实例的行为就是我们所谓的方法);
因为Object类是所有类的老祖宗,所以所有的对象(包括数组)都能调用Object类中的方法。
String toString() 返回调用此方法的当前对象的字符串表示形式(把当前对象转成字符串) ---返回的其实就是当前对象的内存地址
boolean equals(Object obj) 比较两个对象是否相等(比较调用此方法的对象是否和传入的obj”相等”)---因为Object类中的equals方法的底层用的还是==来比较this和obj两个对象,因此比较的还是内存地址
int hashCode() 把当前对象转成一个int值
覆写Object类的toString方法,实例如下:
public String toString(){
return "name = "+ name+ " age = "+age;
}
覆写Object类中的equals方法,实例如下:
public boolean equals(Object obj) {
if(obj instanceof Person){
Person s= (Person)obj;
return (this.name.equals(s.getName()) &&this.age == s.getAge());
}
return false;
}
①==比较基本数据类型时比较的是书面值,比较引用数据类型是比较的是内存地址;
②equals方法不能比较基本数据类型,只能比较引用数据类型,在今后的开发中我们只使用equals方法来进行比较引用数据类型,当我们不想比较内存地址时就覆写Object类中的equals方法。
主要控制类以及类中成员的访问权限
private < 默认不写 < protected < public 在今后的开发中,一般的规律是所有的类和方法都用public修饰,所有的字段都是用private修饰。
访问范围:private 只能在当前类中访问;
默认不写:只能在当前类、同包中访问
Protected:只能在当前类、同包、不同包但是两者是继承关系的类中进行 访问;
Public:任意地方都能访问
① 外部类 只能够使用public 或者 默认不写;(一般都是public);
② 类中的成员(字段(private),构造方法,方法(public))以及内部类是可以使用任何修饰符修饰的;
③局部变量不能使用权限修饰符修饰。
访问方式(调用方式) 和 访问权限 不是同一个东西;
访问方式:
访问权限:
Private 默认不写 protected public
Java.io.Printstream p = System.out;
p.println()
标签:rri cal 相等 ash style str 外部 this his
原文地址:https://www.cnblogs.com/limengkun/p/10609867.html