子类重写父类方法访问权只能变大不能变小
假如有一个父类 他属于package com.demo.powera;
public abstract class ParentPower {
public abstract void test();
}
有这么一个子类实现了它,假如把方法访问权从public-->private
public class ChildPower extends ParentPower{
private void test() {
}
}
那么对于以下这个类
public class MyTest {
private ParentPower power;
public void app(){
power.test();
}
}
它是可以通过编译的,但是在运行的时候,我们都知道,它调用的是子类的方法
而子类此时却是private,那么它能调用到吗???
显而是调用不到的
所以子类重写父类方法访问权只能变大不能变小
分享到:
相关推荐
当一个子类继承父类并重写父类的方法时,子类对象可以用父类引用调用,根据实际的对象类型决定运行时调用哪个方法版本。此外,通过接口,不同类可以实现相同的接口,从而表现出一致的外部接口,实现多态。 #### 24\...
- **重写**:发生在父类和子类之间,子类可以提供一个与父类方法签名完全相同的方法,但是方法体完全不同,以改变父类的行为。 #### 11. Java 面向对象编程的三大特性:封装、继承、多态 - **封装**:将对象的状态...
- **Override**: 方法重写,子类重写父类的方法,方法名、参数列表和返回类型必须相同。 #### 13. error 和 exception 的区别 - **Error**: 表示系统级错误,如内存不足,无法恢复。 - **Exception**: 表示应用级...
方法覆盖(也称为重写)是指在子类中重新定义父类中的方法,使得子类可以提供自己的实现版本。方法覆盖需满足以下条件: - 方法名相同 - 参数列表相同 - 返回值类型相同 - 访问权限不低于父类方法的访问权限 #### ...
- **多态支持:** 继承是实现多态的基础之一,子类可以重写父类的方法以实现不同的行为。 - **扩展性:** 继承使得类的设计更具灵活性,可以轻松地添加新功能而不影响现有代码。 #### 三、封装(Encapsulation) **...
虽然子类可以访问父类的`static`成员,但这并不意味着`static`成员被继承了。此外,`static`成员也不受`override`的影响,因为它们不属于特定的对象实例。 #### 5. 类的私有成员如何访问? 类的私有成员(`private...
- **equals()**: 通常用于比较两个对象的内容是否相同,需要由子类重写该方法来定义具体的比较逻辑。 **3. 两个对象的`hashCode()`相同,则`equals()`也一定为true,对吗?** - 不一定。`hashCode()`相同仅意味着...
子类的重写方法覆盖了父类的同名方法,当通过子类对象调用该方法时,会执行子类的实现,这是实现运行时多态的关键。 #### 9. Error和Exception的区别 在Java中,`Error`和`Exception`都属于`Throwable`类的子类,...
`String` 对象一旦创建后,其值不能改变。 #### 2. 数据结构(HashMap, Hashtable, Vector, List, LinkedList, ArrayList)的特点与区别 **知识点概述:** - **HashMap vs. Hashtable:** `HashMap` 允许 null 键...
- **子类继承父类**:子类重写父类的方法,展示不同的行为。 - **实现接口**:一个类可以实现多个接口,展示不同的行为。 - **优势:** - 提高代码的灵活性和可扩展性。 - 使得代码更加简洁和易于维护。 **...
- **方法重写**: 子类中定义的方法与父类中的方法具有相同的名称、参数列表和返回类型,但实现不同。 - **接口实现**: 一个类实现了多个接口,从而表现出多种行为。 - **对象的多态性**: 同一个父类引用变量可以指向...
实际上,子类可以根据需要添加新的成员,也可以重写或覆盖父类的方法,但不一定增加成员数量。 ### 15. 拓扑结构 - **知识点概述**:题目中提到环型拓扑结构的特点。 - **扩展说明**:在计算机网络中,拓扑结构...
this指针指向调用成员函数的对象实例,不能为null,只能在类的成员函数中使用。 #### 82. 构造函数、拷贝构造函数与赋值操作符区别 构造函数用于创建对象,拷贝构造函数用于创建一个新对象作为现有对象的副本,赋值...