脚本宝典收集整理的这篇文章主要介绍了继承,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
1.继承解决的问题:共性的抽取 。父类(基类,超类),子类(派生类)
1 public class Employee { 2 public void method(){ 3 System.out.println("方法执行!"); 4 } 5 } 6 7 8 public class Teacher extends Employee { 9 10 11 } 12 13 14 15 public class Demo01Extends { 16 public static void main(String[] args) { 17 Teacher te = new Teacher(); //创建一个子类对象 18 te.method(); //teacher类中虽然没有方法,但是会继承父类中的method方法 19 20 } 21 }
2.继承中成员变量的访问
1 public class Fu { 2 int numFu = 10; 3 int num = 100; 4 public void methodFu(){ 5 System.out.println("父类方法执行:"+num); //使用的是本类当中的方法,不会向下去找子类。 6 } 7 8 } 9 10 11 12 public class Zi extends Fu{ 13 int numZi = 20; 14 int num = 200; 15 public void methodZi(){ 16 System.out.println("子类方法执行"+num); //本类中参数,不会向上去找 17 } 18 } 19 20 21 22 public class Demo02Extends { 23 public static void main(String[] args) { 24 Fu f = new Fu(); //创建父类对象 25 System.out.println(f.num);//只能使用父类的东西,没有子类的内容 26 27 Zi z = new Zi(); 28 System.out.println(z.numFu); 29 System.out.println(z.numZi); 30 System.out.println("_________________"); 31 32 //等号左边是谁,优先用谁 33 System.out.println(z.num); //优先子类:200 34 z.methodFu(); //这个方法是在父类中定义的,子类继承调用父类方法。 35 z.methodZi(); //这个方法是子类的,优先用子类的 36 } 37 }
3.区分子类方法中重名的三种变量
public class Fu3 { int num = 10; } public class Zi3 extends Fu3{ int num = 20; public void method(){ System.out.println(num); //局部变量:直接写成员变量名 System.out.println(this.num); //本类的成员变量:this.成员变量 System.out.println(super.num); //父类的成员变量:super.成员变量 } } public class Demo03Extends { public static void main(String[] args) { Zi3 z3 = new Zi3(); z3.method(); } }
4.继承中成员方法的访问特点
1 public class Fu4 { 2 public void methodFu(){ 3 System.out.println("父类方法执行"); 4 } 5 public void method(){ 6 System.out.println("父类重名方法执行"); 7 } 8 } 9 10 11 12 public class Zi4 extends Fu4 { 13 public void methodZi(){ 14 System.out.println("子类方法执行"); 15 } 16 public void method(){ 17 System.out.println("子类重名方法执行"); 18 } 19 } 20 21 22 23 //在父子类的继承关系中,创建子类对象,访问成员方法的规则:创建的对象是谁,就优先用谁,如果没有则向上找 24 //注意事项:无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类的。 25 public class Demo04Extends { 26 public static void main(String[] args) { 27 Zi4 z4 = new Zi4(); 28 z4.methodZi(); 29 z4.methodFu(); 30 31 z4.method(); //创建的是new了子类的对象,所以优先使用子类方法。 32 33 } 34 }
以上是脚本宝典为你收集整理的继承全部内容,希望文章能够帮你解决继承所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。