zoukankan      html  css  js  c++  java
  • java中到底是继承父类变量还是访问父类变量

    对于访问父类的变量我们到底应该如何做??

    1. 直接访问通过方法访问父类的变量:

    第一种情况代码 复制代码 收藏代码
    1. package com.huawei.test
    2. public class ProtectedVariable extends Parent{
    3. public static void main(String[] args) {
    4. Parent v1 = new ProtectedVariable();
    5. v1.setName("keke8614");
    6. System.out.println(v1.getName());
    7. Parent v2 = new ProtectedVariable();
    8. v2.setName("keke8615");
    9. System.out.println(v2.getName());
    10. System.out.println(v1.getName());
    11. }
    12. }
    13. class Parent{
    14. private String name;
    15. public String getName() {
    16. return name;
    17. }
    18. public void setName(String name) {
    19. this.name = name;
    20. }
    21. }

    2. 第二种方法通过继承访问父类的变量:

    第二种方法代码 复制代码 收藏代码
    1. package com.huawei.test;
    2. public class ProtectedVariable extends Parent{
    3. public static void main(String[] args) {
    4. Parent v1 = new ProtectedVariable();
    5. v1.name = "keke8614";
    6. System.out.println(v1.name);
    7. Parent v2 = new ProtectedVariable();
    8. v2.name = "keke8615";
    9. System.out.println(v1.name);
    10. System.out.println(v2.name);
    11. }
    12. }
    13. class Parent{
    14. protected String name;
    15. }

    通过上面的方法我们都可以访问到变量,那么到底哪种访问符合便准的编程规范呢,我很是疑惑?

    这是我在看一些源码中时发现的。而源码中更多的是以下的编码格式

    源码常用方式代码 复制代码 收藏代码
    1. package com.huawei.test;
    2. public class ProtectedVariable extends Parent{
    3. public static void main(String[] args) {
    4. Parent v1 = new ProtectedVariable();
    5. v1.setName("keke8614");
    6. System.out.println(v1.getName());
    7. Parent v2 = new ProtectedVariable();
    8. v2.setName("keke8615");
    9. System.out.println(v2.getName());
    10. System.out.println(v1.getName());
    11. }
    12. }
    13. class Parent{
    14. protected String name;
    15. public String getName() {
    16. //可能对name进行操作
    17. return name;
    18. }
    19. public void setName(String name) {
    20. //可能对name进行操作
    21. this.name = name;
    22. }
    23. }

    这样设计到底起到了什么好处啊??希望给予正解......

  • 相关阅读:
    struts.xml
    web.xml
    jdbc.properties
    apache+tomcat的集群--Session复制配置
    mysql 定时触发器
    mysql 查看存储过程
    Quatz 定时任务
    Apache Httpd常用命令
    Mac安装nginx
    dubbo ReferenceConfig源码分析
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3576070.html
Copyright © 2011-2022 走看看