1、继承是发在多个类之间的
2、继承使用关键字extends
3、Java只允许单继承,允许多层继承
4、被继承的叫父类。继承父类的叫子类
5、父类中只有非私有属性和方法可以被继承
6,构造方法不能被继承
7、创建对象会调用构造方法,调用构造方法不一定会创建对象
8、调用带参数构造方法用super()
没有构造方法
子类继承父类的属性和方法,私有属性或方法不能被继承
extends关键字是用来继承的
class 子类名 extends 父类名{
}
public class opq {
public static void main(String []args) {
wps l = new wps();
l.foo();
l.tyu();
}
}
class was{
String name;
int age;
private String sex;
public void foo() {
System.out.println("我是父类");
}
}
class wps extends was{
public void tyu() {
System.out.println("我是子类");
}
}
带无参构造方法
构造方法不能被继承,创建子类对象父类的构造方法也会被调用,无参构造方法可以只在父类中写,子类中可以不写。
public class opq {
public static void main(String []args) {
wps l = new wps();
l.foo();
l.tyu();
}
}
class was{
public was() {
System.out.println("构造方法");
}
String name;
int age;
private String sex;
public void foo() {
System.out.println("我是父类");
}
}
class wps extends was{
public void tyu() {
System.out.println("我是子类");
}
}
带有参构造方法
带有参数的构造方法必须在两个类中都写,
super关键字可以在子类的构造方法中显示地调用父类的构造方法,super()必须为子类构造函数中的第一行。
public class opq {
public static void main(String []args) {
wps l = new wps("小胖",18);
l.foo();
}
}
class was{
public was(String name,int age) {
this.name=name;
this.age=age;
System.out.println("我是was");
}
String name;
网友评论