大家好,又见面了,今天和大家浅谈一下抽象类
抽象类存在的意义就是被继承
1.抽象类的概念
什么是
好问题,那么什么是普通类呢,普通类就是没有abstract修饰的方法,所以抽象类就是abstract修饰的类
所有的对象都是通过类来描述的,但不是所有的类都用来描述对象的,如果一个类中没有包含足够的信息去描述一个对象,那么这个类叫做抽象类
2.抽象类的语法
抽象类使用abstract 来修饰,抽象类中被abstract修饰的方法叫做抽象方法,
- public abstract class Shape {
- public abstract void draw();
- public void func(){
- System.out.println("画画的baby");
- }
- }
抽象方法不需要具体的实现
抽象类也是类,也可以在抽象类的内部进行普通方法的书写,普通成员变量以及普通成员方法
抽象类中不一定有抽象方法,但是有抽象方法的类一定叫做抽象类
3.抽象类特性
1.抽象类不能直接实例化对象
2.抽象方法不能被private修饰
3.抽象方法是不能别final和static 修饰的,因为抽象类中的方法在子类被重写
- abstract class Shape {
- abstract void draw();
- public void func1(){
- System.out.println("哈哈哈");
- }
-
- }
-
- class Circle extends Shape{
-
-
- @Override
- void draw() {
- System.out.println("画圆");
- }
- }
-
-
- public class TestDemo {
-
-
- }
4.抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用abstract修饰
5. 抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类
- abstract class Shape {
- public int age;
- public String name;
-
- public Shape(int age, String name) {
- this.age = age;
- this.name = name;
- }
-
- abstract void draw();
- public void func1(){
- System.out.println("哈哈哈");
- }
-
- }
-
- class Circle extends Shape{
- public Circle(int age,String name){
- super(5,"小黑");
- }
-
- @Override
- void draw() {
- System.out.println("画圆");
- }
- }
-
-
- public class TestDemo {
-
-
- }
内容就这么多,希望看到的大佬斧正,谢谢大家,下期再见!!!886!!!