/*
形式参数是引用类型,
类 : 实际要的是该类的对象
抽象类 :实际要的是子类对象
接口 : 实际要的是子类对象
人打扑克
定义人类 Person{
//玩的方法
两个明确:
返回值类型 : void
参数列表 : Card c
public void play(Card c){
c.zhaDan();
}
}
定义扑克类 Card{
//炸弹 方法
public void zhaDan(){
Syso("炸弹...");
}
}
抽象类
Pai
接口 扩展功能
interface Magic {
abstract void killPerson();
}
*/
class PersonTest{
public static void main(String[] args){
//创建 对象
Person p = new Person();
Card c = new Card();
System.out.println("------------------------");
//p.play(c);
//------------------------------
//创建牌 子类对象
Pai pai = new MaJiang();
p.play(pai);
System.out.println("------------------------");
//魔法功能的 子类对象
Magic m = new Card();
p.play(m);
System.out.println("------------------------");
p.play(new Card());
}
}
//牌的扩展功能
interface Magic{
public abstract void bianMoShu();
}
//定义人类
class Person{
public void play(Card c){
c.zhaDan();
c.shunZi();
}
//玩牌
public void play(Pai p){
p.shuang();
}
public void play(Magic m){
m.bianMoShu();
}
}
abstract class Pai{
//爽的方法
public abstract void shuang();
}
class Card implements Magic {
public void zhaDan(){
System.out.println("四个一样,就炸了");
}
public void shunZi(){
System.out.println("至少五张连起来,从3开始,最大到A");
}
public void bianMoShu(){
System.out.println("变魔术不是目的,给谁变才是目的......");
}
}
class MaJiang extends Pai{
public void shuang(){
System.out.println("搓麻是打牌的一种方式,杠开了最爽");
}
}
|
|