目录
1.继承
子类可以自动继承父类中除了私有内容的其他啊所有内容。 当出现x是一种y的时候,x就可以继承y。 语法: public class 类 extends 父类{ } 具体作用:简化代码开发。 相当于,子类是对父类进行了扩展
//对妖怪定义成员变量和定义方法“妖怪吃人”
public class YaoGuai {
public void chiren() {
System.out.println("妖怪会吃人");
}
}
创建黑熊怪使用继承【extends 父类】
public class HeiXiongGuai extends YaoGuai{
//相当于,子类是对父类进行了扩展 【extends 父类】
//此时继承了YaoGuai,就表示HeiXiongGuai中也有吃人的属性
}
测试:
public class Test {
public static void main(String[] args) {
HeiXiongGuai hx =new HeiXiongGuai();
System.out.println(hx.name);
//这里就会继承
hx.chiren();
//hx.paisi();//这里子类不能访问,原因是私有的
}
}
【这个时候在YaoGuai中加入私有代码】
private表示私有的
private void paisi(){
System.out.println("我是妖怪我怕死,但是我不能让别人知道。");
}
如果你在Test中调用hx.paisi();你就会发现这里子类不能访问【原因是私有的】
但是,这个时候黑熊怪想偷袈裟,但是这不是所有妖怪都有的
这个时候就可以在HeiXiongGuai中加入以下内容。
//子类中的不一定是父类中有的,可以写自己特有的东西
public void tou(){
System.out.println("黑熊怪喜欢偷袈裟");
}
然后在Test中调用hx.tou();就可以将上面的“黑熊怪喜欢偷袈裟”调用出来。
子类还能继承父类中的变量
//在YaoGuai中加入变量
String name;
//在Test中就可以调用出来:
hx.name="大黑熊";
System.out.println(hx.name);
2.super关键字
super表示父类中的内容 this表示自己类中的内容 可以用super和this区分父类和子类中重名的内容 创建对象的过程:先创建父类的对象,然后创建子类的对象。 注:这个地方先运行出来的是父类构造方法然后才是子类的构造方法 super可以获取父类中的内容 super可以调用父类的构造方法,必须写在子类构造方法的第一行 【如果父类的构造方法是无参数的,可以不写super。 如果父类没有无参数的构造,必须写super。】
public class Hero {
String name = "英雄";
public Hero(){
this.name=name;
}
}
public cl