java核心基础抽象类

java核心基础抽象类一 抽象类 一 定义 类 属性 0 或多个 方法 0 或多个 一个完整 健康 的类 所有的方法都有实现 方法体 类可以没有方法 但是有方法就肯定要有实现 这才是一个完整的类一个完整的类才可以被实例化 被 new 出来如果一个类暂时有方法未实现 需要被定义为抽象类 二 实现 抽象类关键字 abstract 声明 抽象类的组成 optional 成员变量 个数不限 optional 具体方法

大家好,我是讯享网,很高兴认识大家。



一:抽象类

(一)定义

类:属性(0或多个)+方法(0或多个)
一个完整(健康)的类:所有的方法都有实现(方法体)
类可以没有方法,但是有方法就肯定要有实现,这才是一个完整的类
一个完整的类才可以被实例化,被new出来
如果一个类暂时有方法未实现,需要被定义为抽象类
讯享网

(二)实现

讯享网抽象类关键字abstract声明 抽象类的组成 –(optional)成员变量,个数不限 –(optional)具体方法,方法有实现,个数不限 –(optional)抽象方法,加abstract关键字,个数不限

1.抽象类

public abstract class Animal { int number; public abstract void move(); public abstract void run(); public void say() {  //这是区别于接口的地方,在抽象类中可以实现一些方法 System.out.println("I am an animal"); } }

2.子类继承抽象类,必须全部实现抽象类中的抽象方法,不然还只能是个抽象类

讯享网public class LandAnimal extends Animal{ public void move() { System.out.println("LandAnimal can move"); } public void run() { System.out.println("LandAnimal can run"); } }

(三)总结

抽象类也是类。一个类继承于抽象类,就不能继承于其他的(抽象)类. 子类可以继承于抽象类,但是一定要实现父类们所有abstract的方法。如果不能完全实现,那么子类也必须被定义为抽象类。 只有实现父类(们)的所有抽象方法,才变成完整类。

二:接口

同抽象类相似,不同的是所有的方法都不能实现

(一)定义

如果类的所有方法都没有实现,那么这个类就算是接口interface。 接口不算类,或者说是“特殊”的类。 类只可以继承(extends)一个类,但是可以实现(implements)多个接口,继承和实现可以同时
接口可以继承(多个)接口,没有实现的方法将会叠加 类实现接口,就必须实现所有未实现的方法。如果没有全部实现,那么只能成为一个抽象类。 接口里可以定义变量,但是一般是常量

(二)接口实现

1.接口

public interface Animal { public void move(); public void run(); }
public interface Food { public void makefood(); }

2.抽象类:继承于接口,却未全部实现方法

public abstract class LandAnimal implements Animal, Food{   //继承多个接口 public void move() { System.out.println("LandAnimal can move"); } public void makefood() { System.out.println("LandAnimal can be made for food"); } }

3.子类:实现所以的方法

public class RabbitAnimal extends LandAnimal{ public void run() { System.out.println("RabbitAnimal can run"); } }

4.调用

public class AnimalTest { public static void main(String[] args) { LandAnimal la=new RabbitAnimal(); la.move(); la.run(); la.makefood(); } }
LandAnimal can move RabbitAnimal can run LandAnimal can be made for food

三:抽象类和接口

java核心基础抽象类

抽象类和接口相同点:两者都不能被实例化,不能new操作 抽象类和接口不同点 –抽象类abstract, 接口interfac –抽象类可以有部分方法实现,接口所有方法不能有实现 –一个类只能继承(extends)一个(抽象)类,实现(implements)多个接口 –接口可以继承(extends)多个接口 –抽象类有构造函数,接口没有构造函数 –抽象类可以有main,也能运行,接口没有main函数 –抽象类方法可以有private/protected, 接口方法都是public

1.接口

public interface Food { public void makefood(); }
interface Food
public interface Animal { public void move(); public void run(); }
interface Anima

2.抽象类

public abstract class RiverAnimal implements Animal{ public void move() { System.out.println("LandAnimal can move"); } }
abstract class RiverAnimal implements Animal

3.子类

public class fish extends RiverAnimal implements Food{ public void makefood() { System.out.println("RiverAnimal can be made for food"); } public void run() { System.out.println("fishAnimal can run"); } }

4.实现

public class AnimalTest { public static void main(String[] args) { fish ra=new fish(); ra.move(); ra.run(); ra.makefood(); } }
RiverAnimal can move fishAnimal can run RiverAnimal can be made for food
小讯
上一篇 2024-12-27 08:26
下一篇 2024-12-24 19:35

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/349.html