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

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

  • 相关阅读:
    20200813质因数分解 --已知正整数n是两个不同的质数的乘积,试求出较大的那个质数 (奥赛一本通 P71 8)
    20200807求梯形面积,要求输入浮点数,输出精度为2位
    c++语言printf()输出格式大全 scanf()输入格式大全
    20200803给出一 名学生的语文和数学成绩,判断他是否恰好有一门课不及格(<60分),如果是输出1;否则输出0(奥赛一本通 p32 10)
    20200803-判断一个数能否同时被3,5,7整除(奥赛一本通 p32 9)
    20200802--利用公式 e=1+1/1!+1/2!+...+1/n!,求e的值, 要求保留小数点后10位(奥赛一本通 p67 2)
    20200802 给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+...+n!),输出阶乘的和 (奥赛一本通p67 1题)
    线程
    mysql逻辑架构
    《python网络数据采集》笔记2
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3576070.html
Copyright © 2011-2022 走看看