Java基础篇:如何解决成员的访问和继承?

尽管子类包括超类的所有成员,它不能访问超类中被声明成private的成员。例如,考虑下面简单的类层次结构:

/* In a class hierarchy, private members remain

private to their class.

This program contains an error and will not

compile.

*/

// Create a superclass.

class A {

int i; // public by default

private int j; // private to A

void setij(int x, int y) {

i = x;

j = y;

}

}

// A's j is not accessible here.

class B extends A {

int total;

void sum() {

total = i + j; // ERROR, j is not accessible here

}

}

class Access {

public static void main(String args[]) {

B subOb = new B();

subOb.setij(10, 12);

subOb.sum();

System.out.println("Total is " + subOb.total);

}

}

该程序不会编译,因为B中sum( )方法内部对j的引用是不合法的。既然j被声明成private,它只能被它自己类中的其他成员访问。子类没权访问它。

一个被定义成private的类成员为此类私有,它不能被该类外的所有代码访问,包括子类。

Java基础篇:如何解决成员的访问和继承?

java的继承和访问_Java基础篇:如何解决成员的访问和继承?相关推荐

  1. java 字节码详解_Java基础篇(JVM)——字节码详解

    这是Java基础篇(JVM)的第一篇文章,本来想先说说Java类加载机制的,后来想想,JVM的作用是加载编译器编译好的字节码,并解释成机器码,那么首先应该了解字节码,然后再谈加载字节码的类加载机制似乎 ...

  2. java 实现类转接口_JAVA 基础 / 第二十九课:接口与继承 / JAVA中的对象转型

    2018-03-19 一.明确引用类型与对象类型的概念 引用类型与对象类型的概念 在这个例子里,有一个对象 new ADHero(), 同时也有一个引用ad 对象是有类型的, 是ADHero 引用也是 ...

  3. Java基础篇:如何解决成员的访问和继承?

    Java基础篇:如何解决成员的访问和继承? 尽管子类包括超类的所有成员,它不能访问超类中被声明成private的成员.例如,考虑下面简单的类层次结构: /* In a class hierarchy, ...

  4. java 的对象类用_java基础(第零篇)对象与类

    前言: 本文讲述java中对象与类的一些概念.包括对象与类的有关概念,类间五种关系,类的访问权限等. 在java中,一切都可以用对象来描述,操作对象的标识符只不过是对象的一个引用,一个对象可以有多个引 ...

  5. java继承和多态_Java基础继承与多态

    Java基础第九天 继承概述 引入 首先我来写两个代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15//定义学生类 class Student { public void  ...

  6. java基础篇_java基础篇1

    JAVA基础篇1 注释 单行注释 //这是一个单行注释,由两个斜杠组成,不能嵌套多行注释 多行注释 /*这是一个 多行注释 ,//里面不能嵌套多行注释, 但是可以嵌套单行注释*/ 文档注释 /**ja ...

  7. java单线程循环调度_Java基础篇之Java线程模型

    原标题:Java基础篇之Java线程模型 Java运行系统在很多方面依赖于线程,所有的类库设计都考虑到多线程.实际上,Java使用线程来使整个环境异步.这有利于通过防止CPU循环的浪费来减少无效部分. ...

  8. java之面向对象知识体系_JAVA基础知识总结5(面向对象特征之一:继承)

    继 承: 1:提高了代码的复用性. 2:让类与类之间产生了关系,提供了另一个特征多态的前提. 父类的由来:其实是由多个类不断向上抽取共性内容而来的. JAVA只支持单继承.java虽然不直接支持多继承 ...

  9. java数据类型_JAVA基础篇(数据类型)

    首先请大家想想这几个问题: 1.java数据类型是什么? 2.Java数据类型有什么用? 上一节(JAVA基础篇(函数))有个add函数,里面有两个int类型,int类型就是整数的意思,这一节我们来学 ...

最新文章

  1. python描述器做权限控制_Python装饰器14-描述器
  2. 华人一作登ICCV 2021,实时超分新SOTA!AutoML显神威:1%参数量,超清视频70倍加速...
  3. react - antd (Table 与 Cascader 平级数据转树形实操)
  4. mongodb 安装包_MongoDB快速入门,掌握这些刚刚好!
  5. 为什么C语言成了大学的必修课?
  6. Mac上的一位数密码你知道吗
  7. 【华为云技术分享】竞享实例:让你尽享云服务的“鱼”和“熊掌”
  8. django 1.8 官方文档翻译: 1-3-1 高级教程:如何编写可重用的应用
  9. 【iOS开发】更改App图标下方显示的名称
  10. JavaScript-输入输出语法
  11. 2021年中国新型电力系统行业市场现状、竞争格局与发展方向分析「图」
  12. Keil4新建汇编模板工程
  13. python VTK 初入门学习
  14. 空手套白狼的典型案例,利用各方资源一年狂赚300万!
  15. FPI厂商SoleraNetworks被Blue Coat收购
  16. 强化理解指针、指针数组和数组指针(从三味书屋到成华大道)
  17. 泛生子Q2及臻和招股书速读
  18. 【Git】Git的HEAD和branch的理解
  19. EasyExcel导入和导出excel数据表格用法示例
  20. memcachq队列安装

热门文章

  1. 遍历Page的Controls集合
  2. python工具用什么语言_Python中一些自然语言工具的使用的入门教程
  3. 唤醒锁: 检测 Android* 应用中的 No-Sleep(无法进入睡眠)问题
  4. Android anr 产生的原因和如何避免
  5. android 音乐播放器----获取专辑封面图片
  6. Google+ 关闭引大V不满:700万粉丝“说没就没”
  7. 电商系统设计之商品 (下)
  8. 如何利用wireshark对TCP消息进行分析
  9. 修改vCenter client无法连接
  10. C#如何让Listbox支持多选