java中的重写总结

这个理解了就挺容易的~~

我就直接贴个程序啦 ,程序里有说明!!

父类:

 1 package ParentAndSon;
 2 
 3 public class Parent extends Object {//4:以final修饰的类不能别继承,3:Object是所有类的直接父类或间接父类
 4 
 5     String sex="女";
 6     String name;
 7     
 8     
 9     public Parent() {
10         
11     }
12     
13     public Parent(String sex, String name) {
14         this.sex = sex;
15         this.name = name;
16     }
17 
18     protected static Object say(String name) {
19         System.out.println("父亲说话");
20         return 0;
21     }
22     public void walk() {
23         System.out.println("父亲走路");
24     }
25 }

子类:

 1 package ParentAndSon;
 2 
 3 import javax.management.remote.SubjectDelegationPermission;
 4 
 5 //1:继承是根据已有类创建类的机制
 6 public class Son extends Parent {//:2:java只支持单继承
 7 
 8     String age;
 9     
10     public Son() {
11         super();
12     }
13 
14 
15     public Son(String age) {
16         super();
17         this.age = age;
18     }
19 
20     //@Override
21     /*1:重写要求 方法名和方法参数列表(参数个数和参数对应的数据类型)必须相同
22      *2:重写的返回值a:如果是空或者基本数据类型,则子类返回值和父类一模一样
23      *            b:如果是引用数据类型,则子类返回值类型和父类一样或者是他的子类
24      *3:访问权限,子类的访问权限和父类一样,或者大于父类的访问权限
25      *4:父类中被static  final修饰的方法能被子类继承,但不能被重写,@Override可以判断是重写的方法还是一个新的方法
26      *5:父类中不是静态方法,子类中不能加static
27      *
28      */
29     public static Integer say(String name) {
30         System.out.println("儿子说话");
31         return 0;
32     }
33     //@Override  因为doHomework()方法不是重写的方法 所以出错
34     public void doHomework() {
35         System.out.println(sex);
36         System.out.println("儿子做作业");
37     }
38     public static void main(String[] args) {
39         Son son = new Son();
40         System.out.println(son.sex);
41     }
42 }
原文地址:https://www.cnblogs.com/lyxcode/p/9031252.html