父类
package com. example. demo. demo;
public class Father {
Father ( ) {
System. out. println ( "父类无参构造方法" ) ;
}
Father ( String str) {
System. out. println ( "父类有参构造方法" ) ;
}
int age = 1 ;
static String name = "father" ;
public int getAge ( ) {
System. out. println ( "father-getAge" ) ;
return age;
}
public static String getName ( ) {
System. out. println ( "father-getName" ) ;
return name;
}
}
子类
package com. example. demo. demo;
public class Son extends Father {
Son ( ) {
super ( "str" ) ;
System. out. println ( "子类无参构造方法" ) ;
}
int age = 2 ;
static String name = "son" ;
@Override
public int getAge ( ) {
System. out. println ( "son-getAge" ) ;
return age;
}
public static String getName ( ) {
System. out. println ( "son-getName" ) ;
return name+ "son" ;
}
}
测试方法
class Test {
@Test
void test ( ) {
Father father = new Son ( ) ;
Son son = new Son ( ) ;
System. out. println ( "静态成员变量" ) ;
System. out. println ( "father.name = " + father. name) ;
System. out. println ( "son.name = " + son. name) ;
System. out. println ( "非静态成员变量" ) ;
System. out. println ( "father.age = " + father. age) ;
System. out. println ( "son.age = " + son. age) ;
System. out. println ( "静态方法" ) ;
System. out. println ( "father.getName() = " + father. getName ( ) ) ;
System. out. println ( "son.getName() = " + son. getName ( ) ) ;
System. out. println ( "非静态方法" ) ;
System. out. println ( "father.getAge() = " + father. getAge ( ) ) ;
System. out. println ( "son.getAge() = " + son. getAge ( ) ) ;
}
}
执行结果
父类有参构造方法
子类无参构造方法
父类有参构造方法
子类无参构造方法
静态成员变量
father. name = father
son. name = son
非静态成员变量
father. age = 1
son. age = 2
静态方法
father- getName
father. getName ( ) = father
son- getName
son. getName ( ) = sonson
非静态方法
son- getAge
father. getAge ( ) = 2
son- getAge
son. getAge ( ) = 2
Process finished with exit code 0