您的位置:首页 > 其它

关于重写的基本知识

2010-05-11 11:53 399 查看
package bisic;

/**
* 什么时候使用重写?
* 子类对父类的方法不满意时
* 1.重写的方法(子类的方法)必须和被重写的方法(父类的方法)具有相同的方法名称,参数列表和返回值类型
* 2.重写的方法(子类的方法)不能使用比被重写的方法(父类的方法)具有更严格的访问权限
* @author Administrator
*父类中的private类型的方法,子类是根本看不到的!
如果父类有个private的方法 private void isAPrivate(){...},
而在子类中如果刚好也有方法private void isAPrivate(){...},
那么对于编译器而言,编译器认为:子类中的该方法只是自己新添加的一个方法,
只不过这个方法刚好与父类中的那个方法是同名的而已,而不是对父类的覆盖!
*/
class Personss {
private String name;
private int age;
public void setName(String name){this.name=name;}
public void setAge(int age) {this.age=age;}
public String getName(){return name;}
public int getAge(){return age;}
public String getInfo() {
return "Name: "+ name + "/n" +"age: "+ age;
}
}

class Studentss extends Personss {
private String school;
public String getSchool() {return school;}
public void setSchool(String school)
{this.school =school;}
//对父类的方法不满意,我的school属性,没给输出来 2.这里不能写private
public String getInfo() {
return "Name: "+ getName() + "/nage: "+ getAge()
+ "/nschool: "+ school;
}
}

public class TestOverWrite {
public static void main(String arg[]){
Studentss student = new Studentss();
Personss person = new Personss();
person.setName("none");
person.setAge(1000);
student.setName("John");
student.setAge(18);
student.setSchool("SCH");
System.out.println(person.getInfo());
System.out.println(student.getInfo());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: