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. }

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

  • 相关阅读:
    再谈反射
    XmlElement和XmlNode的区别
    几个常用的集合类的使用
    node.js 练习3 调用函数
    ioc 的好文章 转自 GavinJun
    sqlserver 使用小技巧总结
    node.js 练习2 (调用函数)
    c# 面向对象基础
    linq 和 lmabda 表达式 的用法 和优劣 转自 农码一生
    memcache 基本操作
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3576070.html
Copyright © 2011-2022 走看看