1.方法重写
子类可以根据需要对父类继承来的方法进行改写
是多态机制的前奏
注:
重写的方法需要与原型长得一模一样
重写方法不能比被重写方法有更严格的权限
父类的私有权限不能被重写
在子类重写的方法中继续调用父类被重写的方法可以通过super.函数名获取
package jicheng.qybs.java;
class person
{
String name;
private String address;
public void printInfo(){
System.out.println("name="+name);
}
public void printAdd(){
System.out.println("address="+address);
}
private void printAdd2(){
System.out.println("address="+address);
}
}
class student extends person
{
public void printInfo(){
super.printInfo();
System.out.println("子类打印name="+name);
}
double score;
// private void printAdd2(){
// System.out.println("私有方法");
// }
}
public class Test {
public static void main(String[] args) {
student s = new student();
s.name = "qybs";
s.printInfo();
//s.printAdd2();
}
}
2.Object的常见方法
Java中,所有的类都直接或间接继承自java.lang.Object类,Object是Java中所有类的跟类
Java中任何类都继承了Object类中的方法,主要有:
toString()
equals()
hashcode()
clone()
getClass()
finalize()
toString:
package jicheng.qybs.java;
class person
{
String name;
String address;
public void printInfo(){
System.out.println("name="+name);
}
public void printAdd(){
System.out.println("address="+address);
}
public String toString(){
return "person message:"+address+","+name;
}
}
public class Test {
public static void main(String[] args) {
person p = new person();
p.name = "qybs";
p.address = "fukang";
System.out.println(p.toString());
}
}
equal:
默认情况下比较的是地址,可以根据自己实际的需求进行相应修改
package jicheng.qybs.java;
class person
{
String name;
String address;
public void printInfo(){
System.out.println("name="+name);
}
public void printAdd(){
System.out.println("address="+address);
}
public String toString(){
return "person message:"+address+","+name;
}
public boolean equals(Object arg0) {
person p = (person)arg0;
if(this.address == p.address && this.name == p.name)
return true;
else
return false;
}
}
public class Test {
public static void main(String[] args) {
person p = new person();
p.name = "qybs";
p.address = "fukang";
person p2 = new person();
p2.name = "qybs";
p2.address = "fukang";
System.out.println(p.equals(p2));
System.out.println(p.toString());
}
}