三个修饰符--1-abstract


abstract应用的地方与相应的语法


abstract可以用来修饰类、成员方法
修饰类的语法:abstract class 类名{}
被abstract修饰的类 只能声明 不能创建相应的对象
抽象类编译也生成相应的class文件
抽象类也有构造方法,但不是用来创建对象 是给子类创建时默认生成相应的父类
修饰方法的语法:访问修饰符 abstract 返回值类型 方法名(形参);
注意事项:1. 访问修饰符与abstract的位置没有要求 可以先写访问修饰符 也可以先写abstract
2.抽象方法只能定义在抽象类中 但抽象类可以定义抽象方法也可以定义为抽象方法
被abstract修饰的类可以有子类 并且子类也可以是被abstract修饰的 如果不想被修饰也可以 那么就要把父类中被abstract修饰的方法进行重写
子类方法重写的语法:访问修饰符 父类返回值类型 父类方法名(形参){}
在外界生成子类对象的语法
抽象父类名 引用名=new 子类名(形参);
抽象类强制使用多态
例:
`

public class TestAnimal{
	public static void main(String[] args){
		Animal[] a={
			new Dog(),
			new Cat()
		};
		a[0].eat();
		a[1].eat();
	}
}
abstract class Animal{
	public abstract void eat();
}
class Dog extends Animal{
 	public void eat(){
		System.out.println("Dog------eat");
	}
}
class Cat extends Animal{
	public void eat(){
		System.out.println("Cat------eat");
	}
}`

代码运行结果
在这里插入图片描述
abstract应用场景
1 通常将一些父类定义为抽象类:具有某一类事物的特性和行为,但是不具有具体的执行功能(实现)。例如:动物类、图形类等。
2 依赖倒转原则 将强耦合 变成弱耦合 一个类与一个子建立关系 避免直接建立 让其与其父类建立关系 这样可以提高代码可维护性
对比图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值