/*
继承和成员方法的关系
1、寻找规则:现在本类中寻找,若找到就使用;若本类中没有对应方法,就使用继承自父类中的方法,如果还是没有,就报错。
2、java中所有的类都有一个共同的父类:Object
3、如果子类中的方法的返回值类型,方法名,参数列表都与父类中一样,这样的现象叫做方法的重写(覆盖),建议使用@Override来表示
面试题:重载和重写的区别(Overload和Override的区别?)
Overload重载:发生在同一个类中的,方法名一样,参数列表不一样,与返回值无关。
Override重写:发生在继承关系中的,返回值类型,方法名,参数列表都要一样,只是方法体实现不一样。
重写的注意事项:
1、重写后的方法,权限不能比父类中的方法的权限要低,一般情况下,重写的方法权限与父类的方法保持一致
2、父类静态方法,子类无法重写,静态的成员方法随着类
*/
//class GrandFather1 {
// public void fun1() {
// System.out.println("泡澡");
// }
//}
class Father1 {
public void fun1() {
System.out.println("游泳");
}
private void show1(){
System.out.println("学习");
}
void show2(){
System.out.println("打电话");
}
public static void show3(){
System.out.println("吃饭");
}
public void show4(){
show1();
System.out.println("你好世界");
}
}
class Son1 extends Father1 {
@Override
public void fun1() {
System.out.println("花式游泳");
}
// @Override
// private void show1(){
// System.out.println("使用电脑学习");
// }
@Override
public void show2(){
System.out.println("边打游戏边打电话");
}
// @Override
public static void show3(){
System.out.println("边看电视边吃饭");
}
// @Override
// public int show4(){ // 返回值类型也要和父类保持一致
// System.out.println("你好java");
// return 10;
// }
}
class Demo2 {
}
public class ExtendsDemo6 {
public static void main(String[] args) {
Son1 s1 = new Son1();
s1.fun1();
// s1.show3();
s1.show4();
}
}
标签:Override,day08,void,System,println,重载,重写,public,out
From: https://www.cnblogs.com/qiwei-bigdata/p/18342266