java继承访问
Ⅰ java为什么可以通过继承父类的公有方法访问父类的私有属性
java中子类本来就可以通过继承公共方法访问父类的私有变量啊,
就算不是父子关系,一个类也可以通过另一个类的公共方法访问它的私有变量了。
子类是访问了父类的方法,记住是方法而不是属性
父类的方法操作了私有属性,这跟子类没有任何关系
Ⅱ java中到底是继承父类变量还是访问父类变量
java的思想,或者说面向对象的思想,是继承父类的行为(方法),而不是继承变量。
变量是封装在类里面的,暴露变量(public或者protected变量)过多,肯定是糟糕的设计。
Ⅲ java继承中父类可以访问子类哪些属性
能的
1、除了JAVA中,子类继承父类的所有方法和属性(构造方法要用关键字super([参数])调用)
另外,当父类的方法或属性被声明为private(私有的)时,子类也是不可以继承的。
2、继承是JAVA中一个重要的特色,便于程序的编写,提高代码的重用性。
Ⅳ java中为什么子类仍然可以通过继承公共方法访问父类的私有变量
那是因为父类中的私有变量在父类中被方法调用了,当子类执行的时候回默认执行父类中的构造方法,所以是可以的,举例:
父类
public class A {
private int x =5;
public void setX(int x) { this.x = x; }
public int getX() { return this.x; }
}
子类
public class B extends A { }
这个时候如果通过“B.getX();”输出的结果就是:5;
Ⅳ java中子类继承与访问有什么区别
继承到的是自己的成员;访问的话不是自己的成员,是父类对象的成员或者其他对象的成员
Ⅵ JAVA中什么是继承
继承在本职上是特殊一般的关系,即常说的is-a关系。子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的 一些属性或方法。
1.Java继承的语法格式:
Java继承的关键字是:extends
public class 子类名 extends 父类名{...}
如: public class UNStudent extends Student {...} 注:1.子类又称超类,拓展类 ;父类又称基类。
2.Java中类的继承只能是单继承(单根继承),即一个类只能继承一个父类,但是一个类可以由多个类来继承它。
3.Java会给每一个没有设置父类的类,自动添加一个父类就是Object 。
(6)java继承访问扩展阅读:
一、子类继承父类的结果
1.子类继承父类后,继承到了父类所有的属性和方法。注:是所有。
2.子类可调用的方法也要看情况而定:
子类和父类在同一个包下时 “子类和子类的对象”可以调用父类的默认的,受保护的,公有的属性以及方法。
子类和父类在不同的包下时,在子类中可以调用受保护的,公有的属性以及方法,而子类的对象可以调用受保护的,公有的属性以及方法。
二、方法的重写
1.当子类和父类都有某种方法,而子类的方法更加要求细致,或者实现功能不同,就需要方法的重写。
2.重写条件
①必须要存在继承关系;只有继承之间的关系才能有方法的重写
②方法的返回值类型,方法名,参数个数,参数类型,参数顺序,必须要完全一致;
如:父类中方法 public void play (int n ; String s){方法体1...}
重写后的子类方法public void play(int n ; String s){方法体2...}
3.子类重写方法时的访问修饰符可以大于或者等于父类方法的访问修饰符。
4.重写后的方法会被优先调用。
三、自动转型
自动转型的实现要求有继承关系
格式如下:父类名 对象名 = new 子类构造方法;
如:Student stu = new UNStudent;
而强制转型格式如下:子类名 对象名 = (子类名)父类对象名
如:UNStudent un = (Student)stu;
自动转型可以拓宽方法的作用访问域
在使用自动转型后,子类自己定义的方法是不能在自动转型后执行;
原因是因为Java的编译机制,它会优先判断父类中是否存在该方法,如果存在则通过编译,如果不存在则报错。
第二种自动转型:转型后只需要不同类的不同对象调用想吐的方法,很方便!
/**访问修饰符 返回值数据类型 方法名(父类类型 参数名,...){
调用方法。
}
父类名 对象名 = new 子类名;
子类名 对象名 = new 子类名;
方法名(对象名);
*/
比如拿到驾驶证为A2的人,可以驾驶重型货车,当然也可以驾驶大型货车,中型货车,小型货车,小客车,小轿车,摩托车... 可以选择第二种自动转型的方法,便于调用同一个方法。
自动转型好处:1.减少冗余代码;2.在方法设置参数时,扩大访问范围。
四、多态
多态是由方法重载,继承,方法重写,自动转型等技术的组合。
五、为什么需要继承?
1.提高代码的重用性。
2.提高程序的扩展性。
JAVA继承总结
Ⅶ java中子类虽然能继承父类的成员,请简述子类对父类哪些能访问哪些不能访问 急急急!!!!!!!!!!
子类extends父类时,子类可以从父类继承得到属性和方法,在访问权限允许的情况下,子类可以直接访问父类的属性和方法,也即是说子类可以直接复用父类的属性和方法。
但同时,继承破坏了父类的封装性,可以通过重写来恶意改变父类方法实现。
所以,尽量在创建父类的时候把所有属性都设置成private访问类型,必须被外类调用又不想被子类重写的方法加上final修饰符。在父类的构造方法中不要有子类重写的方法。
Ⅷ 关于java 继承类 子类调用父类方法访问属性问题
say这个方法是定义在父类Dog中的,所以他直接调用了父类的name,输出“小刘”。
如果把say这个方法复制一下放到HomeDog中,那它会调用HomeDog的name,输出“小明”。
Ⅸ java继承中父类可以访问子类哪些属性
父类能访问子类
public
static修饰的属性;