|
|||||||||||||
|
| >>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 | 书籍支持 |  卫琴直播 |  品书摘要 |  在线测试 |  资源下载 |  联系我们 |
|
|
|
您是本文章第 31157 个阅读者
|
|
老鼠类:
从这两段代码可以看出来,代码存在重复了,导致后果就是代码量大且臃肿,而且维护性不高(维护性主要是后期需要修改的时候,就需要修改很多的代码,容易出错),所以要从根本上解决这两段代码的问题,就需要继承,将两段代码中相同的部分提取出来组成 一个父类: 公共父类:
这个Animal类就可以作为一个父类,然后企鹅类和老鼠类继承这个类之后,就具有父类当中的属性和方法,子类就不会存在重复的代码,维护性也提高,代码也更加简洁,提高代码的复用性(复用性主要是可以多次使用,不用再多次写同样的代码) 继承之后的代码: 企鹅类:
老鼠类:
继承类型 需要注意的是 Java 不支持多继承,但支持多重继承。 |
|||||||||||||||||||
| public class Animal { private String name ; private int id ; public Animal ( String myName , String myid ) { // 初始化属性值 } public void eat ( ) { // 吃东西方法的具体实现 } public void sleep ( ) { // 睡觉方法的具体实现 } } public class Penguin extends Animal { } |
| public interface A { public void eat ( ) ; public void sleep ( ) ; } public interface B { public void show ( ) ; } public class C implements A , B { } |
| class Animal { void eat ( ) { System . out . println ( " animal : eat " ) ; } } class Dog extends Animal { void eat ( ) { System . out . println ( " dog : eat " ) ; } void eatTest ( ) { this . eat ( ) ; // this 调用自己的方法 super . eat ( ) ; // super 调用父类方法 } } public class Test { public static void main ( String [ ] args ) { Animal a = new Animal ( ) ; a . eat ( ) ; Dog d = new Dog ( ) ; d . eatTest ( ) ; } } |
| class SuperClass { private int n ; SuperClass ( ) { System . out . println ( " SuperClass() " ) ; } SuperClass ( int n ) { System . out . println ( " SuperClass(int n) " ) ; this . n = n ; } } // SubClass 类继承 class SubClass extends SuperClass { private int n ; SubClass ( ) { // 自动调用父类的无参数构造器 System . out . println ( " SubClass " ) ; } public SubClass ( int n ) { super ( 300 ) ; // 调用父类中带有参数的构造器 System . out . println ( " SubClass(int n): " + n ) ; this . n = n ; } } // SubClass2 类继承 class SubClass2 extends SuperClass { private int n ; SubClass2 ( ) { super ( 300 ) ; // 调用父类中带有参数的构造器 System . out . println ( " SubClass2 " ) ; } public SubClass2 ( int n ) { // 自动调用父类的无参数构造器 System . out . println ( " SubClass2(int n): " + n ) ; this . n = n ; } } public class TestSuperSub { public static void main ( String args [ ] ) { System . out . println ( " ------SubClass 类继承------ " ) ; SubClass sc1 = new SubClass ( ) ; SubClass sc2 = new SubClass ( 100 ) ; System . out . println ( " ------SubClass2 类继承------ " ) ; SubClass2 sc3 = new SubClass2 ( ) ; SubClass2 sc4 = new SubClass2 ( 200 ) ; } } |
|
|
|
|
|
| 中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2 荟萃Java程序员智慧的结晶,分享交流Java前沿技术。 联系我们 如有技术文章涉及侵权,请与本站管理员联系。 |