Java中的抽象类(abstract)和接口(interface)如何改写为一个长尾词的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1083个文字,预计阅读时间需要5分钟。
前言:写在前面的话,不听b站老师的课,不写博客再加以常不常用的JAVA,导致现在遗忘十分严重,古人云:温故而知新。今日做补课之举。
一、抽象类
抽象类是Java中的一种特殊类,用于定义抽象方法,不能被实例化。抽象类中可以包含抽象方法和非抽象方法。
二、抽象类特点
1. 抽象类不能被实例化,只能被继承。
2.抽象类可以包含抽象方法,抽象方法没有方法体,只包含方法签名。
3.抽象类可以包含非抽象方法,非抽象方法有方法体,可以执行具体的操作。
4.抽象类可以包含构造方法、成员变量等。
三、抽象类应用场景
1. 定义一组具有相似属性和行为的对象,但不希望直接创建实例。
2.为子类提供一个公共接口,让子类实现具体的业务逻辑。
3.在设计模式中,抽象类可以用来实现工厂模式、单例模式等。
四、抽象类示例
java
class Dog extends Animal { @Override public void eat() { System.out.println(Dog is eating...); }}
class Cat extends Animal { @Override public void eat() { System.out.println(Cat is eating...); }}
前言
写在前面的话,不听b站老师的话,不写博客又加之不经常用JAVA,导致现在遗忘十分严重,古人云:亡羊补牢,为时未晚。故今日做补牢之举。勉之!
一、抽象类
抽象类类中可以没有抽象方法,但如果有抽象方法,则该类一定是抽象类。抽象方法只写方法的声明,具体实现交给子类(非抽象类)去实现。
public abstract class Abstract {
public abstract void run();
}
如上,声明了一个run的抽象方法,具体的实现交给子类。
public class Demo01 extends Abstract{
@Override
public void run()
{
System.out.println("一直努力的向前奔跑");
}
}
子类需要先继承抽象类(extends),然后重写父类中所有的抽象方法。
抽象类的特点:
1、抽象类中没有构造方法,所以不能够直接实例化对象
2、抽象类中可以没有抽象方法,但有抽象方法的一定是抽象类。
3、抽象方法需要一个非抽象子类,来继承,重写方法。
4、抽象类只能单继承,不能够多继承(Class cannot extend multiple classes)
二、接口
接口的本质是契约,最主要的重要是约束和实现的分离
创建一个接口
public interface Demo02interface {
void walk();
}
用到interface关键字,它和class是同级的。
1、接口中没有构造方法,所以不能直接实例化对象,interface
2、接口中只有常量 public static final
3、接口中不能写方法体
4、所有的方法默认都是抽象的
5、子类需要用implements来使用接口,同时要重写(@Override)接口的方法
6、接口可以实现多继承 接口要用,来分隔(多继承确实牛啊)
接口的多继承
public class Demo03 implements Demointerface,Demo02interface{
@Override
public void run()
{
System.out.println("我一直在努力的奔跑");
}
public void walk()
{
System.out.println("走累了,就歇一会");
}
}
总结
前路茫茫,与君共勉 安静的进步,快乐的学习
本文共计1083个文字,预计阅读时间需要5分钟。
前言:写在前面的话,不听b站老师的课,不写博客再加以常不常用的JAVA,导致现在遗忘十分严重,古人云:温故而知新。今日做补课之举。
一、抽象类
抽象类是Java中的一种特殊类,用于定义抽象方法,不能被实例化。抽象类中可以包含抽象方法和非抽象方法。
二、抽象类特点
1. 抽象类不能被实例化,只能被继承。
2.抽象类可以包含抽象方法,抽象方法没有方法体,只包含方法签名。
3.抽象类可以包含非抽象方法,非抽象方法有方法体,可以执行具体的操作。
4.抽象类可以包含构造方法、成员变量等。
三、抽象类应用场景
1. 定义一组具有相似属性和行为的对象,但不希望直接创建实例。
2.为子类提供一个公共接口,让子类实现具体的业务逻辑。
3.在设计模式中,抽象类可以用来实现工厂模式、单例模式等。
四、抽象类示例
java
class Dog extends Animal { @Override public void eat() { System.out.println(Dog is eating...); }}
class Cat extends Animal { @Override public void eat() { System.out.println(Cat is eating...); }}
前言
写在前面的话,不听b站老师的话,不写博客又加之不经常用JAVA,导致现在遗忘十分严重,古人云:亡羊补牢,为时未晚。故今日做补牢之举。勉之!
一、抽象类
抽象类类中可以没有抽象方法,但如果有抽象方法,则该类一定是抽象类。抽象方法只写方法的声明,具体实现交给子类(非抽象类)去实现。
public abstract class Abstract {
public abstract void run();
}
如上,声明了一个run的抽象方法,具体的实现交给子类。
public class Demo01 extends Abstract{
@Override
public void run()
{
System.out.println("一直努力的向前奔跑");
}
}
子类需要先继承抽象类(extends),然后重写父类中所有的抽象方法。
抽象类的特点:
1、抽象类中没有构造方法,所以不能够直接实例化对象
2、抽象类中可以没有抽象方法,但有抽象方法的一定是抽象类。
3、抽象方法需要一个非抽象子类,来继承,重写方法。
4、抽象类只能单继承,不能够多继承(Class cannot extend multiple classes)
二、接口
接口的本质是契约,最主要的重要是约束和实现的分离
创建一个接口
public interface Demo02interface {
void walk();
}
用到interface关键字,它和class是同级的。
1、接口中没有构造方法,所以不能直接实例化对象,interface
2、接口中只有常量 public static final
3、接口中不能写方法体
4、所有的方法默认都是抽象的
5、子类需要用implements来使用接口,同时要重写(@Override)接口的方法
6、接口可以实现多继承 接口要用,来分隔(多继承确实牛啊)
接口的多继承
public class Demo03 implements Demointerface,Demo02interface{
@Override
public void run()
{
System.out.println("我一直在努力的奔跑");
}
public void walk()
{
System.out.println("走累了,就歇一会");
}
}
总结
前路茫茫,与君共勉 安静的进步,快乐的学习

