继承访问权限
来源:互联网 发布:linux中的ll 编辑:程序博客网 时间:2024/05/16 15:01
当子类继承了某个类后,便可以使用父类中的成员变量,当并不是完全继承父类的所有成员变量,具体原则如下
变量原则:
(1)能够继承父类的public和protected方法.不能够继承父类的private方法;
变量原则:
(1)能够继承父类的public和protected变量.不能够继承父类的private变量;
package test1;class son{public int a;protected int b;int c;private int d;public son(){}}public class a extends son{@Overridepublic String toString() {// TODO Auto-generated method stubString temp = "";temp += a;temp += b;temp += c;//temp += d; 错误,private不能继承return temp;}public static void main(String[] args) {a o = new a();System.out.println(o);}}/* * 输出:000 */
(2)对于父类的包访问权限变量,如果子类和父类在同一个包下,则子类能够继承;否则,子类就不能够继承;
package test2;import test1.son;public class b extends son{@Overridepublic String toString() {// TODO Auto-generated method stubString temp = "";temp += a;temp += b;//temp += c; 错误 包访问权限只能在同一个包内继承//temp += d; 错误 private访问权限只能在本类使用,不能继承return temp;}public static void main(String[] args) {b o = new b();System.out.println(o);}}/* * 输出:00 */方法原则:
(1)能够继承父类的public和protected方法.不能够继承父类的private方法;
package test1;public class son {public son(){}public void fun1(){System.out.println("son.fun1()");}public static void fun1_s(){System.out.println("son.fun1_s()");}protected void fun2(){System.out.println("son.fun2()");}protected static void fun2_s(){System.out.println("son.fun2_s()");}void fun3(){System.out.println("son.fun3()");}static void fun3_s(){System.out.println("son.fun3_s()");}private void fun4(){System.out.println("son.fun4()");}private void fun4_s(){System.out.println("son.fun4_s()");}}
package test1;/** * 同一个包内 * @author ziwang * */public class a extends son{private void show() {// TODO Auto-generated method stubthis.fun1();a.fun1_s();this.fun2();a.fun2_s();this.fun3();a.fun3_s();//this.fun4(); 错误,private方法只能自己类使用,不能继承//a.fun4_s(); 错误,private方法只能自己类使用,不能继承}public static void main(String[] args) {a o = new a();o.show();}}/* * 输出: * son.fun1()son.fun1_s()son.fun2()son.fun2_s()son.fun3()son.fun3_s() */
(2)对于父类的包访问权限方法,如果子类和父类在用一个包下,则子类能够继承;否则,子类就不能够继承;
package test2;import test1.son;public class b extends son{private void show() {// TODO Auto-generated method stubfun1();b.fun1_s();fun2();b.fun2_s();//fun3(); 错误,包访问权限只有在同一个包内才可以继承//b.fun3_s(); 错误,包访问权限只有在同一个包内才可以继承//fun4(); 错误,private不能继承//b.fun4_s(); 错误,private不能继承}public static void main(String[] args) {b o = new b();o.show();}}/* * 输出: * son.fun1() son.fun1_s() son.fun2() son.fun2_s() */
0 0
- 继承与访问权限
- 继承的访问权限
- 继承与访问权限
- 继承与访问权限
- 继承访问权限
- C++派生继承访问权限
- C++ 继承之访问权限
- C++ 继承 访问权限控制
- C++继承体系访问权限
- 1.2 继承与访问权限
- Java继承、super、继承访问权限
- java基础-----访问权限,继承,super
- 继承时访问权限的趣事儿
- Java 继承访问权限与初始化
- C++继承的访问权限控制
- 关于继承方式和访问权限
- 关于访问控制权限和继承方式
- 类中公有继承的访问权限
- 图论之图的遍历做题报告
- Java绘制PNG图片时的黑色背景问题
- Spring4+Hibernate4
- Android LayoutParams用法解析
- 蓝桥杯 矩阵翻硬币
- 继承访问权限
- 信号量及PV操作
- 常用正则表达式——包括校验数字、字符、一些特殊的需求等等
- Nagios安装配置教程(一)基本了解
- 给DCMTK添加JPEG2000支持
- 测试2000线程并发下同时查询1000万条数据库表及索引优化
- [SinGuLaRiTy-1003] Number Theory-Basic 数论
- iOS根据文字计算控件的高度
- 深度学习目标检测中的图像金字塔 pyramid