JAVA_Java中关于supper和this的理解

简介: 2015-04-04 Created By BaoXinjian 一、摘要   二、解析   1 package cn.galc.test; 2 3 /** 4 * 父类 5 * @author gacl 6 * 7 */ 8 class F...

2015-04-04 Created By BaoXinjian

一、摘要


 

二、解析


 

 1 package cn.galc.test;
 2 
 3 /**
 4  * 父类
 5  * @author gacl
 6  *
 7  */
 8 class FatherClass {
 9     public int value;
10     public void f() {
11         value=100;
12         System.out.println("父类的value属性值="+value);
13     }
14 }
15 
16 /**
17  * 子类ChildClass从父类FatherClass继承
18  * @author gacl
19  *
20  */
21 class ChildClass extends FatherClass {
22     /**
23      * 子类除了继承父类所具有的valu属性外,自己又另外声明了一个value属性,
24      * 也就是说,此时的子类拥有两个value属性。
25      */
26     public int value;
27     /**
28      * 在子类ChildClass里面重写了从父类继承下来的f()方法里面的实现,即重写了f()方法的方法体。
29      */
30     public void f() {
31         super.f();//使用super作为父类对象的引用对象来调用父类对象里面的f()方法
32         value=200;//这个value是子类自己定义的那个valu,不是从父类继承下来的那个value
33         System.out.println("子类的value属性值="+value);
34         System.out.println(value);//打印出来的是子类自定义的那个value的值,这个值是200
35         /**
36          * 打印出来的是父类里面的value值,由于子类在重写从父类继承下来的f()方法时,
37          * 第一句话“super.f();”是让父类对象的引用对象调用父类对象的f()方法,
38          * 即相当于是这个父类对象自己调用f()方法去改变自己的value属性的值,由0变了100。
39          * 所以这里打印出来的value值是100。
40          */
41         System.out.println(super.value);
42     }
43 }
44 
45 /**
46  * 测试类
47  * @author gacl
48  *
49  */
50 public class TestInherit {
51     public static void main(String[] args) {
52         ChildClass cc = new ChildClass();
53         cc.f();
54     }
55 }

 

 

 

Thanks and Regards

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
相关文章
|
Java 编译器
【Java】Java基础语法
【Java】Java基础语法
83 0
|
安全 Java 程序员
Java的特点有哪些?
Java的特点有哪些?
97 0
|
Java
Java常见的坑(二)
你猜上述程序输出的是什么? 是 ABC easy as 123 吗? 你执行了输出操作,你才发现输出的是 ABC easy as [C@6e8cf4c6 ,这么一串丑陋的数字是什么鬼? 实际上我们知道字符串与任何数值的相加都会变为字符串,上述事例也不例外, numbers输出其实实际上是调用了Object.toString()方法,让numbers转变为'[c' + '@' + 无符号的十六进制数。
91 0
|
编解码 监控 负载均衡
JAVA问答7
JAVA问答7
113 0
1071 小赌怡情(JAVA)
常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。
|
IDE Java 大数据
初识Java
Java的基础
97 0
|
存储 Java 程序员
JAVA
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
|
人工智能 Java 程序员
6月来了,Java还是第一!
今天是2019年6月1号,栈长祝各位小程序猿们节日快乐。
6月来了,Java还是第一!
|
Java
java
zhe
283 0