java语法定制_java抽象语法

1、基本概念:

0.0、抽象类的定义:抽象类是为子类提供一个规范,其目地是由子类去继承实现(类似国家提出的法律,由我们去执行)。

0.1、定义抽象类用abstract来定义。

语法: public abstract class 类名{  //code  };

0.2、抽象类不能使用new方法进行实例化的类。

0.3、什么时候用到抽象类:

在父类中只需要规定各子类共有的哪些属性,而不需要给出属性的具体信息;但是,父类的这些属性对每个子类可能是不同的,

需要在各子类中进行具体的定制。

0.4、抽象类中可以有普通方法,但普通类不能有抽象方法。

public abstract class 类名{

public abstract void abstract_say();

public void common_say(){  //code  };

};

0.5、如果一个类继承的抽象类,就必须重写该抽象类中的所有的抽象方法(普通重不重写都没关系),否则报错.

ea8b78040a7f3f662956c108205dfc1d.png

9f8f1d16657425aae9f907f1184bfd19.png

但是如果不想重写抽象类的所有抽象方法,只需将子类修改成抽象类即:public abstract class extend_Abstra_Test extends Test(){  } ;

30421b44cb3365de27561c533312f789.png

2、小案例:

猫科动物: 是一类几乎专门以肉食为主的哺乳动物(例举:猫、老虎、猎豹)。

写出猫科两个行为:走、吃

分析:

走:猫科走路的行为一致(定义一个普通方法)。

吃:

老虎:只要是动物都吃。

老虎和猫吃的行为不一样

猫:只吃鱼和老鼠(判断吃的是鱼和老鼠还是其他)。

代码:

Felidea抽象类:

public abstract class Felidea {

/**

* 走:猫科走路的行为一致(定义一个普通方法)。

**/

public void go_Walk(){

System.out.println("go walk~~~~~");

};

/**

* 吃:

老虎:只要是动物都吃。

~~~老虎和猫吃的行为不一样

猫:只吃鱼和老鼠(判断吃的是鱼和老鼠还是其他)。

**/

//吃定义为抽象方法

public abstract void Eat(Animal animal);

}

Animal类:

public class Animal {

/**

* Animal主要是共同属性,方便其他动物继承

**/

};

Fishs鱼类(继承动物类的属性):

public class Fishs extends Animal{      };

Mouse老鼠类(继承动物类的属性):

public class mouse extends Animal(){      };

Tiger老虎类:

public class Tiger extends Felidea{

@Override //  重写

public void Eat(Animal animal) {

System.out.println("老虎什么都吃");

}

}

Cat猫类:

public class Cat extends Felidea{

@Override

public void Eat(Animal animal) {

if(animal instanceof Mouse || animal instanceof Fishs){

System.out.println("猫正在捕食老鼠和鱼");

}else{

System.out.println("猫不捕食其他动物");

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值