三大修饰符:static、abstract、final

本文详细介绍了Java编程中的三个重要修饰符:static、abstract和final。讲解了抽象类和抽象方法的概念及其在多态中的作用,阐述了static修饰符用于创建静态属性和方法,并分析了类加载过程及静态代码块的执行顺序。同时,还讨论了final关键字在修饰类、方法和变量时的含义和应用场景。
摘要由CSDN通过智能技术生成

抽象

抽象类概述: 不能具体化对象的类,叫做抽象类   例如:动物类--拿不出动物的对象(只能找到子类的对象)
抽象方法概述:在抽象类中,有一些方法,不知道如何实现,这样的方法,叫做抽象方法
例如:动物类中有叫的方法,但不知道如何描述---抽象方法
类抽象作用:自身限制了具体化,只能实例化子类对象---更自然使用多态
抽象方法作用:作为模板使用,意味着子类必须重写该方法

抽象类:主要用在多态中,是前面多态的优化
用法:1.直接赋值多态     2.参数多态   3.返回值多态

抽象类的特点:

1、抽象类不能实例化对象

2、抽象类可以有构造方法

3、抽象类中也可以没有抽象方法(一般不会这么做)

4、抽象类中可以有非抽象的方法

5、抽象方法不能出现在普通类中

6、子类不一定必须要重写抽象类的抽象方法,可以把自身变为抽象类

7.抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类

抽象类的作用:

1、可以被子类继承,提供共性属性和方法

2、可以声明为应用,更自然的使用多态

 抽象类直接多态:

abstract class Animal{ //抽象类
	
	public Animal() {  //有构造方法  通过默认的super()调的
	}
	
	//抽象方法   不能具体实现的方法,但必须要有---模板
	public abstract void bark();  
	
	public void test() {
		
	}
}

如果抽象类的方法是抽象方法,子类必须要进行处理:
1.把自身变为抽象类
2.子类必须实现抽象类的重写方法

/*abstract*/ class Dog extends Animal{

	@Override
	public void bark() {
		System.out.println("旺财在叫");
	}
	
}
public class Abstract1 {
	public static void main(String[] args) {
		//Animal animal = new Animal();  //抽象类不能具体化
		Animal animal = new Dog();  //直接赋值多态
		animal.bark();
	}
}

抽象类参数多态:

//案例:老师开着法拉利牌的交通工具上班,自行车,汽车,飞机等都是交通工具
//分析:类:老师,交通工具(父类)  飞机,自行车,汽车(子类)   行为:开, 运行
abstract class Utils{  //抽象类
	public abstract void run();  //抽象方法---模板
}
class Bike extends Utils{
	@Override
	public void run() {
		System.out.println("自行车在运行");
	}
}
class Car extends Utils{
	@Override
	public void run() {
		System.out.println("汽车在运行");
	}
}
class Teacher{
	public void start(Utils utils) {//实参传子类对象
		utils.run();  //调用子类重写方法
	}
}
public class Abstract2 {
	public static void main(String[] args) {
		Teacher teacher = new Teacher();
		teacher.start(new Bike());  //老师开自行车
		teacher.start(new Ca
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值