Java子类的继承性相关的一些理解(初学欢迎指正)

子类的继承性:

首先得先说明什么是继承,就是说子类继承父类的成员变量和方法就像是在子类中直接声明变量和方法一样在子类中可以使用,一个子类继承的成员应当是这个类的完全意义的成员,如果子类中声明的实例方法 不能操作父类的某个成员变量,该成员变量就没有被子类继承。

(1)子类和父类在同一个包中的继承性

如果子类和父类在同一个包中,那么子类会继承父类中不是private的成员变量和方法,同时这些继承的成员变量和方法的访问权限也不会变。

(2)子类和父类不在同一个包中的继承性

如果子类和父类不在一个包中,那么子类继承了父类的protected和public的成员变量和方法,同样地权限不会发生变化,但要注意不能继承父类的友好变量和友好方法。另外值得一提,我一开始看到这个子类和父类不在同一个包中还能继承protected是很疑惑的,因为根据以下图片protected类型的成员变量和方法在不同包间是不能继承的:(这儿好像有错,注意访问权限和继承的关系,我等有空再进行笔记修改,这儿应该是子类继承父类的成员变量和方法后访问权限不变。----子类继承父类的成员变量方法是类继承到类中的,而访问权限是子类和对象之间的,你对象可能是在其他包或者其他类中创建的。)

protected的进一步说明:

一个类A的子类B有个子类C,那么这个A中的protected成员变量和方法可以被它的直接子类和间接子类继承,B和C可以继承A的上述。如果C类在C本身中创建了一个对象,那么这个对象总是可以通过”.“运算符访问继承的或者自己定义的protected变量和方法,但如果是在另一个类D中创建了一个C的对象D1,那么这个对象对protected变量和方法的访问权限如下:

(1)子类C中亲自声明的protected成员变量和方法(不是从别的类继承的),D1在访问这些非继承的protected成员变量和方法时们只要D类和C类在同一个包中即可。

(2)如果C的protected成员变量和方法是从父类继承来的,那么要一直追溯到祖先源类,即A类,则需D类和A类在同一个包中D1才能访问继承的protected变量和方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java中的继承是指一个类可以继承另一个类的属性和方法。子类继承父类的所有属性和方法,同时也可以添加自己的属性和方法。多态是指一个类的多种形态,即一个类可以被当做其父类或接口的实例来使用。在Java中,子类继承父类的性质同时具有多态性。 ### 回答2: Java继承和多态是面向对象程序设计的基础,也是Java语言的特色之一。在Java中,通过继承可以使子类继承父类的属性和方法,并且可以扩展或修改这些属性和方法,这样可以大大提高代码的复用性和可维护性。而多态性则是Java的另一个特点,它允许同一种对象以不同的形态出现,这样可以提高程序的灵活性和可扩展性。 子类继承性继承的一种特殊形式,它指的是子类继承父类的所有属性和方法,并且可以在此基础上添加新的属性和方法。在Java中,子类通过关键字“extends”来实现对父类的继承,如下所示: ``` // 父类 public class Animal { public void eat() { System.out.println("Animal is eating."); } } // 子类 public class Dog extends Animal { public void bark() { System.out.println("Dog is barking."); } } ``` 在上面的代码中,子类Dog继承了父类Animal的eat()方法,并且添加了新的bark()方法。这样,在使用Dog类时,不仅可以调用自身的bark()方法,还可以调用继承自Animal类的eat()方法,如下所示: ``` Dog dog = new Dog(); dog.bark(); // 输出:Dog is barking. dog.eat(); // 输出:Animal is eating. ``` 从上面的示例中可以看到,在子类继承性的基础上,可以实现代码的复用和扩展,这也是Java继承的主要用途。 总之,子类继承性Java继承的一种形式,它实现了代码的复用和扩展,并且可以在子类中添加新的属性和方法。同时,子类继承性也是实现Java多态性的基础。因此,在实际开发中,我们应该合理地使用Java继承和多态的特性,以提高代码的可维护性和可扩展性。 ### 回答3: Java中的继承和多态是面向对象编程中非常重要的概念,可通过子类继承来实现代码的复用。当父类里的方法和成员变量子类继承子类将自动获得父类中的属性和行为,而无需重新定义它们。子类继承性是面向对象编程中最重要的特性之一。 Java中的继承性允许类继承字段和方法,这些方法和字段在子类中都可被访问和使用。当子类继承了父类,父类中的字段和方法就成为子类成员。子类可以访问父类的公共成员、私有成员、受保护成员和默认成员,但子类无法访问父类中的static成员。 在继承过程中,子类可以对继承来的方法进行重写,以达到覆盖原有的方法和增强原有方法的目的。如果一个方法在子类中与父类中方法的名称、返回值类型和参数类型相同,那么这个方法就是父类中的方法会被完全覆盖。 多态性是指子类对象能够被作为父类对象使用的特性。这种特性使程序能够编写通用代码,同时在运行时选择不同的子类对象来实现不同的操作。多态性是面向对象编程中的重要特性,它提高了代码的复用率和可维护性。 总之,Java中的子类继承性是面向对象编程中非常重要的概念,可通过继承来实现代码的复用。同时,多态性也是面向对象编程中的重要特性,它提供了更高级的编程技术,使程序更加灵活、通用。理解并掌握Java继承和多态,对于Java的面向对象编程非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值