继承

继承
1 关键字:extenfs
2 格式:public class 子类名 extends父类名{
}
java只允许单继承(只有一个父类),但可以让类同时实现多个接口;

3 子类继承了父类的那些属性和方法
当子类继承了父类,那么子类继承父类所有属性和普通方法(除构造方法)
1> 子类和父类在同包下时,可使用的属性和方法:除私有属性和方法外,其他属性和方法能被子类的对象及子类调用;
2> 子类和父类在不同包下时,可使用的属性和方法:private,protected和default都不能调用(只有public属性的对象才被调用)
受保护的属性和方法在子类{ }里可调用;

4 方法的重写
条件:存在继承关系
子类重写方法时,访问修饰符,返回值类型,方法名,参数个数、类型完全一致
子类中通过super.方法名();//在子类中调用父类方法
优先调用子类的方法,如子类无该方法,则调用父类方法;

5 自动转型(减少代码编写)
父类名 对象名=new 子类的构造方法();
public 返回值类型 方法名(父类名,对象名){
方法名(子类对象名);
方法名(父类对象名);
}

6 多态
多态是由java中的继承,方法重写,自动转型以及方法重载等技术的组合
多态就是对象的不同表现形态

7 练习
public class Food(){
private Sting Name;
private String Taste;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setTaste(String Taste){
this.taste=taste;
}
public String getTaste(){
return taste;
}

public void make(){
System.out.println(getName()+"是由面粉做成的");

}
}


public class JunkFood extends Food{
public void make(){
System.out.println(getName()+"是有面粉和土豆做成的");
}

}


public void class Test{
public static void main(String[] args){
Food f=new JunkFood();
f.setName("chips");
f.setTaste("sweet");
f.make();

Food nf=new JunkFood();
nf.setName("mian");
nf.make();

Cook c=new Cook();
c.cook(f, nf);


}

}

public class Nuddles extends Food{
public void make(){

}

}

public class Cook {
public void cook(String f1,String f2){
f1.make();
f2.make();
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值