1.子父类继承
class Person {
String name;
void eat() {
System.out.println(“吃饭 “);
}
void sleep() {
System.out.println(“睡觉”);
}
}
class Student extends Person {
int sid;
}
class Teacher extends Person {
int tid;
void teach() {
System.out.println(“老师教课”);
}
}
public class Example01{
public static void main(String[] args) {
Student s = new Student();
s.eat();
s.sleep();
System.out.println(”----”);
Teacher t = new Teacher();
t.eat();
t.sleep();
t.teach();
}
}
2.子父类中的构造函数的特点:
(1)在子类构造对象时,发现,访问子类构造函数时,父类构造函数也运行了。
(2)子类构造函数默认调用的是父类中的空参数构造函数,如果需要调用父类中带参数的构造函数,可以在子类构造函数中定义。
(3)如果父类中没有定义空参数构造函数,那么子类的构造函数必须用super明确要调用父类中哪个构造函数。
(4)同时子类构造函数中如果使用this调用了本类构造函数时,那么super就没有了,因为super和this都只能定义第一行,所以只能有一个。但是可以保证的是,子类中肯定会有其他的构造函数访问父类的构造函数。
(5)Object是所有类的父类。
3.编写F类及其子类Z,在Z类构造中使用super关键字调用F类构造方法
class F{
F() {
System.out.println(“F类构造方法”);
}
}
class Z extends F{
Z() {
super();
System.out.println(“Z类构造方法!”);
}
}
public class Example05{
public static void main(String[] args) {
Z z = new Z();
}
}
4.编写final修饰的F类,Z类继承F类
final class F{
}
class Z extends F{
}
public class Example06{
public static void main(String[] args) {
Z z = new Z();
}
}
5.编写接口Inter,InterImpl类使用implements实现接口
interface Inter {//首先,定义一个接口
int num = 20;
void method();
}
class InterImpl implements Inter {// 使用implements关键字
void show() {
System.out.println(num);
}
public void method() {
System.out.println(“InterImpl method”);
}
}
class Example10{
public static void main(String[] args) {
InterImpl ii = new InterImpl();
ii.show();
ii.method();
}
}