java中私有属性能不能被继承?
java中私有属性能不能被继承?
以前的课堂中,老师讲继承的时候说过:子类可以继承父类中的属性和方法。可是当我们写代码的时候却能出现一些不一样的情况。
其原因在什么地方?之后通过代码的验证发现出现在了private的访问控制权限上面,也就只有private的访问控制权限能出现问题。
那为什么private能出现矛盾呢?我们来看:private:私有的,只能在自己本类中使用。而继承是子类继承了父类中的属性和方法。
我们在这两个解释中发现了问题:私有属性能不能被继承的?
针对此问题,我们先来看代码:
class Person {private String name = "wanghan";private void print() {System.out.println("执行的是父类中的方法!");}public void fun(){this.print();System.out.println(this.name);
}
class Student extends Person {void print() {System.out.println("执行的是子类中的方法!");}
}
public class Main {public static void main(String[] args) {new Student().fun();}
}
执行结果为:
"C:\Program Files\Java\jdk1.8.0_172\bin\java.exe"...执行的是父类中的方法!wanghanProcess finished with exit code 0
私有属性不能继承,但是可以通过子类继承父类的方法来访问父类的私有属性。
在上述的代码中,分别有一个私有的属性和方法。通过父类中的方法对私有属性进行访问,同理,私有方法我们也是通过父类的方法进行了访问。而在子类中也创建了一个与父类私有方法名字相同,且访问控制权限进行了扩大的一个方法,按理来说应该是子类中的方法对父类中的私有方法进行了覆写,可事实是执行了父类中的私有方法。也就是说子类并没有覆写父类中的私有方法,这是在子类中创建了一个新的方法。所以,父类的访问控制权限是 private 时,子类的访问控制权限是protected或者时public时。此时这也不是方法的覆写。
也就是说用private声明的方法不能被子类覆写,但可以通过父类的方法调用
java中私有属性能不能被继承?相关推荐
- python私有属性怎么定义_Python中私有属性的定义方式
Python没有类似于Java的private关键字, 但也可以为类定义私有属性. 只需将属性命名变为以__开头, 例如 __field. 示例代码: class Vector2D(object): ...
- javaScript中私有属性和方法
javaScript并没有特殊的语法来表示私有.保护.或公共属性和方法,在这一点上与 java或其他语言是不同的,JavaScript中所有对象的成员是公用的: var myobj={ mypop:1 ...
- 在java中私有方法能被重载吗_我可以在Java中重载私有方法吗?
重载是实现多态的一种机制,其中,一个类包含两个具有相同名称和不同参数的方法. 每当您调用此方法时,方法主体都将基于参数与方法调用绑定. 重载私有方法 是的,我们可以在Java中重载私有方法,但是您可以 ...
- 防止iOS中私有属性在block中的循环引用
想看答案可以直接瞅瞅底下代码. 对于一般的@property修饰的属性我们可以使用__weak转换一下self来修饰 __weak typeof(self) weakSelf = self;//然后把 ...
- JAVA中定义属性或方法的数量上限
这个问题很少有人遇到,但是java中定义的属性或者方法是有上限的,可以粗略的计算为65535,也就是两字节无符号数的最大值:我在这里说的上限不是运行中内存不够之类发生的上限,而是无法通过编译为clas ...
- python的实例类方法、修饰器类方法、修饰器保护方法、修饰器静态方法中私有属性的区别和自定义property的读写方法
class Cla:__count=0def __init__(self,v):self.__value=vCla.__count+=1def show(self):print('普通实例方法访问私有 ...
- Java中读取属性文件以及做资源国际化
在src下的文件,没写包名 import java.text.MessageFormat; import java.util.Locale; import java.util.ResourceBund ...
- Java中对象属性的初始化顺序
1-对象属性的初始化方式有三种 2-对象属性初始化的顺序 3-类属性初始化方法有两种 4-类属性的访问 在Java中用没有没关键字 static修饰的属性叫对象属性,否则就叫类属性. 1-对象属性的初 ...
- java中私有变量和方法_Java 私有变量和私有方法
作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com) 内容索引 访问私有变量 访问私有方法 在通常的观点中从对象的外部访问私有变量以及方法是不允许的,但是 Java ...
最新文章
- C语言 数据类型(就做个笔记总结)
- 沙滩鞋除臭法--针对常见户外沙滩鞋来讲
- 超全的 Linux Shell 文本处理工具集锦,快收藏
- 自己写的一个抢票加速的Python小程序源码分享-----纯属娱乐
- 使用树莓派搭建WordPress个人博客
- KMP算法经典题目--实现 strStr()
- 通向架构师的道路(第十四天)Axis2 Web Service安全之rampart
- MFC 驱动加载工具(安装/运行/停止/卸载)
- RetinaFace+ArcFace人脸识别测试
- java工作流引擎:jbpm和activiti对比分析
- 谷歌中国正式宣布李开复辞去总裁一职
- 《论语》全译——孔子生平
- java候选码计算的替换法_候选码求解方法
- 后缀名htm与html的区别
- 360极速浏览器显示密码
- 万圣节 数据_万圣节最可怕的12种开发商恐惧
- 数据结构基本概念和术语(数据、数据元素,数据对象,数据项)及举例描述
- C#实现繁体简体转换方法总结|ASP.NET.分享
- MVC实体框架EF实现分页
- 【解决】Merge branch 'master' of https://gitee.com/