继承,引用大话西游only you唐僧说的一句话:“人和妖都是妈生的,不同的是,人是人他妈生的,妖是妖他妈生的。”其实这里说的就是继承,人继承了人的属性,妖继承了妖的属性,那么,在代码中是怎么体现的呢?这时就需要一个关键字,extends。
具体的逻辑:我们先建一个类(国王),国王有一个杀人的权力,然后再建一个公主的类,公主也继承了父类国王的权力,具有杀人的权力。
package zzq;
public class King {
public void kill(String name){
}
public static void main(String[] args) {
Princess ziwei = new Princess();
ziwei.kill("容嬷嬷");
}
}
public class King {
public void kill(String name){
}
public static void main(String[] args) {
Princess ziwei = new Princess();
ziwei.kill("容嬷嬷");
}
}
-------------------------------------------------------------------------------------------------------我是分割线
package zzq;
public class Princess extends King{
@Override
public void kill(String name) {
System.out.println(我不喜欢"+name+",赐死);
}
}
public class Princess extends King{
@Override
public void kill(String name) {
System.out.println(我不喜欢"+name+",赐死);
}
}
----------------------------------------------------------------------------------------------------------------下面是新代码了
给国王增加属性
package zzq;
public class King {
//国王有10000000元;
public long money = 10000000;
public void kill(String name){
}
public static void main(String[] args) {
Princess ziwei = new Princess();
ziwei.kill("容嬷嬷");
}
}
public class King {
//国王有10000000元;
public long money = 10000000;
public void kill(String name){
}
public static void main(String[] args) {
Princess ziwei = new Princess();
ziwei.kill("容嬷嬷");
}
}
-------------------------------------------------------------------------------------------------------------------我是分割符
在子类中要调用父类属性需要用到super这个关键字,使用自己本身的属性用this这个关键字;
package zzq;
public class Princess extends King{
//公主也有1000元
public long money = 1000;
@Override
public void kill(String name) {
System.out.print("我不喜欢"+name+",赐死,要给安家费,所以");
super.money = super.money-10000;
this.money = this.money-500;
System.out.print("国王的钱剩"+super.money);
System.out.print(",公主的钱剩"+this.money);
}
}
public class Princess extends King{
//公主也有1000元
public long money = 1000;
@Override
public void kill(String name) {
System.out.print("我不喜欢"+name+",赐死,要给安家费,所以");
super.money = super.money-10000;
this.money = this.money-500;
System.out.print("国王的钱剩"+super.money);
System.out.print(",公主的钱剩"+this.money);
}
}