对于访问父类的变量我们到底应该如何做??
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;
- }
- }
这样设计到底起到了什么好处啊??希望给予正解......