java中到底是继承父类变量还是访问父类变量
2011-12-07 00:00
429 查看
对于访问父类的变量我们到底应该如何做??
1. 直接访问通过方法访问父类的变量:
第一种情况代码
package com.huawei.test
public class ProtectedVariable extends Parent{
public static void main(String[] args) {
Parent v1 = new ProtectedVariable();
v1.setName("keke8614");
System.out.println(v1.getName());
Parent v2 = new ProtectedVariable();
v2.setName("keke8615");
System.out.println(v2.getName());
System.out.println(v1.getName());
}
}
class Parent{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2. 第二种方法通过继承访问父类的变量:
第二种方法代码
package com.huawei.test;
public class ProtectedVariable extends Parent{
public static void main(String[] args) {
Parent v1 = new ProtectedVariable();
v1.name = "keke8614";
System.out.println(v1.name);
Parent v2 = new ProtectedVariable();
v2.name = "keke8615";
System.out.println(v1.name);
System.out.println(v2.name);
}
}
class Parent{
protected String name;
}
通过上面的方法我们都可以访问到变量,那么到底哪种访问符合便准的编程规范呢,我很是疑惑?
这是我在看一些源码中时发现的。而源码中更多的是以下的编码格式
源码常用方式代码
package com.huawei.test;
public class ProtectedVariable extends Parent{
public static void main(String[] args) {
Parent v1 = new ProtectedVariable();
v1.setName("keke8614");
System.out.println(v1.getName());
Parent v2 = new ProtectedVariable();
v2.setName("keke8615");
System.out.println(v2.getName());
System.out.println(v1.getName());
}
}
class Parent{
protected String name;
public String getName() {
//可能对name进行操作
return name;
}
public void setName(String name) {
//可能对name进行操作
this.name = name;
}
}
1. 直接访问通过方法访问父类的变量:
第一种情况代码
package com.huawei.test
public class ProtectedVariable extends Parent{
public static void main(String[] args) {
Parent v1 = new ProtectedVariable();
v1.setName("keke8614");
System.out.println(v1.getName());
Parent v2 = new ProtectedVariable();
v2.setName("keke8615");
System.out.println(v2.getName());
System.out.println(v1.getName());
}
}
class Parent{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2. 第二种方法通过继承访问父类的变量:
第二种方法代码
package com.huawei.test;
public class ProtectedVariable extends Parent{
public static void main(String[] args) {
Parent v1 = new ProtectedVariable();
v1.name = "keke8614";
System.out.println(v1.name);
Parent v2 = new ProtectedVariable();
v2.name = "keke8615";
System.out.println(v1.name);
System.out.println(v2.name);
}
}
class Parent{
protected String name;
}
通过上面的方法我们都可以访问到变量,那么到底哪种访问符合便准的编程规范呢,我很是疑惑?
这是我在看一些源码中时发现的。而源码中更多的是以下的编码格式
源码常用方式代码
package com.huawei.test;
public class ProtectedVariable extends Parent{
public static void main(String[] args) {
Parent v1 = new ProtectedVariable();
v1.setName("keke8614");
System.out.println(v1.getName());
Parent v2 = new ProtectedVariable();
v2.setName("keke8615");
System.out.println(v2.getName());
System.out.println(v1.getName());
}
}
class Parent{
protected String name;
public String getName() {
//可能对name进行操作
return name;
}
public void setName(String name) {
//可能对name进行操作
this.name = name;
}
}
相关文章推荐
- java中到底是继承父类变量还是访问父类变量
- java中到底是继承父类变量还是访问父类变量
- java中到底是继承父类变量还是访问父类变量
- java 类继承两个父类,同名变量 public 比protected具有优先访问权限
- java 父类访问子类对象的实例变量 继承过程中的执行顺序
- 2018/01/08JAVA 基础 / 接口与继承/Java关键词:变量引用 super 调用父类对象方法/构造方法【或者访问父类对象属性】的方式归纳
- Java:子类是否只继承父类的非私有变量和方法?
- 子类继承父类时,子类与父类有同名变量,当使用子类对象调用父类方法使用同名变量,这个变量是子类的,还是父类的?(转)
- OC中继承子类对象调用方法机制 子类对象访问父类中的实例变量
- Java基础之子类会不会继承父类的static变量和static方法
- java在继承中父类的成员变量是否会被子类所覆盖
- Java 中子类是否只继承父类的非私有变量和方法?
- OC中继承子类对象调用方法机制 子类对象访问父类中的实例变量
- 类的static成员变量和成员函数能被继承吗? 友元函数能访问父类的private变量吗?那static成员函数能是纯虚函数吗,能被继承吗?
- 2018/01/08JAVA 基础 / 接口与继承:调用父类/子类的类方法、对象方法,访问父类的类属性、对象属性的方式汇总
- Java继承关系中,父类方法使用实例变量和调用实例方法的探究
- Java类的继承之利用super访问父类成员
- 1-Java继承中多态情况特性下变量,方法,静态方法的访问
- java中父类有static修饰的方法其子类能继承吗?若子类也有该方法,是覆盖还是重写?
- java一种极端情况下出现父类访问子类的实例变量的情况