day09-继承中super和this的综合使用
This commit is contained in:
12
day09/src/com/inmind/this_super05/Fu.java
Normal file
12
day09/src/com/inmind/this_super05/Fu.java
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
package com.inmind.this_super05;
|
||||||
|
|
||||||
|
public class Fu {
|
||||||
|
int num = 100;//父类的成员变量
|
||||||
|
|
||||||
|
public void methodFu1() {
|
||||||
|
System.out.println("这是父类的成员方法");
|
||||||
|
}
|
||||||
|
public void methodFu2() {
|
||||||
|
System.out.println("这是父类的成员方法");
|
||||||
|
}
|
||||||
|
}
|
||||||
65
day09/src/com/inmind/this_super05/Zi.java
Normal file
65
day09/src/com/inmind/this_super05/Zi.java
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
package com.inmind.this_super05;
|
||||||
|
/*
|
||||||
|
this表示本类,super表示父类
|
||||||
|
|
||||||
|
super三个使用操作:
|
||||||
|
1.super,可以在子类的成员方法中,访问父类的成员变量,格式super.父类成员变量
|
||||||
|
2.super,可以在子类的成员方法中,访问父类的成员方法,格式:super.父类成员方法名(参数列表)
|
||||||
|
3.super,可以在子类的构造方法中,访问父类的构造方法,格式:super(参数列表)
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
this关键字使用方式
|
||||||
|
1.this,可以区分当前类中局部变量和成员变量
|
||||||
|
2.this,可以在本类的成员方法中,调用该类的其他的成员方法(其实在一个类中所有的成员变量和成员方法的调用之前都有this.)
|
||||||
|
3.this,可以在本类的构造方法中,调用其他的重载构造方法
|
||||||
|
|
||||||
|
关于第三点的注意事项:
|
||||||
|
a.this必须在第一行,不能调用自己构造方法(自己不能调用自己)
|
||||||
|
b.this和super在调用构造方法时,都必须在第一行,所以在一个构造方法中不能同时出现
|
||||||
|
c.this可以调用其他的重载构造方法,但是不能互相调用(死循环)
|
||||||
|
|
||||||
|
*/
|
||||||
|
public class Zi extends Fu{
|
||||||
|
int num = 10;
|
||||||
|
int num1 ;
|
||||||
|
|
||||||
|
//无参构造
|
||||||
|
public Zi(){
|
||||||
|
this(10);
|
||||||
|
// System.out.println("默认的初始化操作,100行代码");
|
||||||
|
}
|
||||||
|
//有参构造
|
||||||
|
public Zi(int num){
|
||||||
|
/*System.out.println("默认的初始化操作,100行代码");
|
||||||
|
this.num = num;*/
|
||||||
|
this(num, 0);
|
||||||
|
}
|
||||||
|
//满参构造
|
||||||
|
public Zi(int num,int num1){
|
||||||
|
super();
|
||||||
|
System.out.println("默认的初始化操作,100行代码");
|
||||||
|
this.num = num;
|
||||||
|
this.num1 = num1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//子类的成员方法
|
||||||
|
public void method(){
|
||||||
|
//this();
|
||||||
|
//super();//只有构造方法中,才能通过super访问父类的构造方法
|
||||||
|
System.out.println(super.num);
|
||||||
|
super.methodFu1();
|
||||||
|
super.methodFu2();
|
||||||
|
int num = 20;
|
||||||
|
System.out.println(num);//局部变量 20
|
||||||
|
System.out.println(this.num);//成员变量10
|
||||||
|
method1();
|
||||||
|
this.method2();//成员方法
|
||||||
|
}
|
||||||
|
|
||||||
|
//子类的成员方法
|
||||||
|
public void method1(){
|
||||||
|
}
|
||||||
|
//子类的成员方法
|
||||||
|
public void method2(){
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user