java中的继承与对象的访问
来源:互联网 发布:手机壳淘宝店铺名字 编辑:程序博客网 时间:2024/06/04 17:44
假设子类和父类中即没有同名的成员变量有没有相同的函数
假设SubClass sub = new SubClass();
那么sub.name; //访问的是父类中的name字段
sub.fun1(); //访问的是父类中的fun1();
sub.subFun1();//访问的是子类中的subFun1();
假设子类中存在同名的实例变量和函数
同样创建对象SubClass sub2 = new SubClass();
那么 System.out.println(sub2.name); //输出值是sub,即访问了子类中的实例变量name;
sub2.fun1(); //输出值是oversupperclass,即访问了子类中的函数,
假设创建一个子类对象并指向父类的引用
SubClass sup2 = new SubClass();
那么
System.out.println(sup2.name); //输出的是super,访问的是父类中的实例变量
sup2.fun1(); //输出的是oversuperclass,即访问的是子类中的方法。
需要注意的是虽然都是同样地引用变量,但是对于实例变量和函数的访问却是不同的,对于实例变量访问的是父类中的变量,而对于函数访问的是子类中函数。
public class SuperClass {String name="super";public void fun1(){System.out.println("superclass");}}
public class SubClass extends SuperClass {public void subFun1(){System.out.println("subclass");}}
假设SubClass sub = new SubClass();
那么sub.name; //访问的是父类中的name字段
sub.fun1(); //访问的是父类中的fun1();
sub.subFun1();//访问的是子类中的subFun1();
假设子类中存在同名的实例变量和函数
public class SuperClass {String name="super";public void fun1(){System.out.println("superclass");}}
public class SubClass extends SuperClass {String name="sub";public void subFun1(){System.out.println("subclass");}public void fun1(){System.out.println("oversuperclass");}}
同样创建对象SubClass sub2 = new SubClass();
那么 System.out.println(sub2.name); //输出值是sub,即访问了子类中的实例变量name;
sub2.fun1(); //输出值是oversupperclass,即访问了子类中的函数,
假设创建一个子类对象并指向父类的引用
SubClass sup2 = new SubClass();
那么
System.out.println(sup2.name); //输出的是super,访问的是父类中的实例变量
sup2.fun1(); //输出的是oversuperclass,即访问的是子类中的方法。
需要注意的是虽然都是同样地引用变量,但是对于实例变量和函数的访问却是不同的,对于实例变量访问的是父类中的变量,而对于函数访问的是子类中函数。
- java中的继承与对象的访问
- java 父类访问子类对象的实例变量 继承过程中的执行顺序
- 关于Java中的继承与访问修饰符的一些总结
- 关于Java中的继承与访问修饰符的一些总结
- Java面向对象的封装与继承
- Java面向对象中的继承
- java 面向对象中的继承
- java虚拟机------对象的创建与访问
- java内存区域与对象的访问
- Java中的内存区域及对象的创建、内存布局与访问定位
- java继承时多态方法与成员的访问
- C++ 中的访问权限与继承方式
- C++中的“继承与接口”与Java中的“继承与接口”的比较
- java-类与对象(访问对象的属性和行为)、
- JAVA的类,对象 继承 接口的认识与实践
- Java的组合(持有对象)与继承的区别
- Java中的继承与组合
- java中的继承与组合
- c/c++ 回调函数 通俗易懂
- Microsoft SQL Server 2005资料库(数据库)卸载方法
- java代码实现15位身份证号码升级到18位
- 服务器数据库系列 - 优化数据库的10个建议
- 驱动开发之一 --- 创建一个简单的设备驱动(续) 【译文】
- java中的继承与对象的访问
- DebugView打印信息追溯与过滤
- DM8168 EMAC/MDIO模块(7)
- 关于人员的留存
- 使用ActivityGroup时,在Activity中显示对话框出现的问题
- Android.mk文件语法规范
- Java设计模式Proxy之初识
- 唐骏演讲节选
- Android --- Ubuntu 下安装ADT ,少WST插件问题,解决方案