关于重写的基本知识
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());
}
}
/**
* 什么时候使用重写?
* 子类对父类的方法不满意时
* 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());
}
}
相关文章推荐
- 关于linux图形界面的基本知识
- 21.1 关于库的基本知识
- 关于linux图形界面的基本知识[新手必读]
- 关于微信小程序的基本知识
- 【Clojure 基本知识】 关于函数参数的各种高级用法
- 关于Ad-hoc测试的基本知识
- 关于hadoop的基本知识
- 关于iphone定位的基本知识
- 关于 frame的一些基本知识 分类: ffmpeg-SDL-VLC-Live555 2013-07-22 16:30 315人阅读 评论(0) 收藏
- 关于linux图形界面编程基本知识
- 关于Frame 的基本知识
- 关于.net开发常见基本知识总结(每日更新)
- 关于数据库索引的基本知识
- 关于select元素的一些基本知识
- 关于final的基本知识运用02
- 关于linux图形界面的基本知识
- 关于object-c的基本知识
- 关于TagHelper的那些事情——TagHelper的基本知识
- 关于OC中成员变量,属性的一些基本知识(针对初学者)
- 【hadoop】Hadoop学习笔记(五):一些关于HDFS的基本知识