feat(class18): 继承关系,this,super,方法重写
- 在 class18 包中添加了 Test 和 Test2 类,演示了类的继承和方法重写 - 在 class19 包中添加了 Test 类,展示了方法重写的实际应用
This commit is contained in:
25
src/class18/Test.java
Normal file
25
src/class18/Test.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package class18;
|
||||
|
||||
public class Test {
|
||||
public static void main(String[] args) {
|
||||
C c = new C();
|
||||
System.out.println(c.a);
|
||||
System.out.println(c.b);
|
||||
c.m1();
|
||||
}
|
||||
}
|
||||
class A{
|
||||
int a = 10;
|
||||
|
||||
void m1(){
|
||||
System.out.println(a);
|
||||
}
|
||||
}
|
||||
|
||||
class B extends A{
|
||||
int b = 30;
|
||||
}
|
||||
|
||||
class C extends B{
|
||||
int a = 30;
|
||||
}
|
||||
20
src/class18/Test2.java
Normal file
20
src/class18/Test2.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package class18;
|
||||
|
||||
public class Test2 {
|
||||
public static void main(String[] args) {
|
||||
Zi z = new Zi();
|
||||
z.print();
|
||||
}
|
||||
}
|
||||
class Fu{
|
||||
String name = "fu的name";
|
||||
}
|
||||
class Zi extends Fu{
|
||||
String name = "zi的name";
|
||||
public void print(){
|
||||
String name = "局部变量";
|
||||
System.out.println(name); // 局部变量
|
||||
System.out.println(this.name); // zi的name
|
||||
System.out.println(super.name); // fu的name
|
||||
}
|
||||
}
|
||||
22
src/class19/Test.java
Normal file
22
src/class19/Test.java
Normal file
@@ -0,0 +1,22 @@
|
||||
package class19;
|
||||
|
||||
public class Test {
|
||||
public static void main(String[] args) {
|
||||
Cat c = new Cat();
|
||||
c.cry();
|
||||
|
||||
}
|
||||
}
|
||||
class Cat extends Animal{
|
||||
@Override //方法重写的校验注解,会校验与被重写方法的形参和返回值类型是否一致,保证方法重写安全
|
||||
public void cry() {
|
||||
System.out.println("喵喵喵~~~");
|
||||
}
|
||||
}
|
||||
|
||||
class Animal{
|
||||
public void cry(){
|
||||
System.out.println("动物会叫~~~");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user