首页 > 其他分享 >abstract 抽象

abstract 抽象

时间:2023-02-12 23:35:11浏览次数:35  
标签:void public 抽象 抽象类 方法 abstract

abstract 抽象

类:不能具体实例化的类,不能创建对象。

1.不能new这个抽象类。只能靠子类去实现它:约束!--- 所以我们不能用final修饰

我们所谓的new是指:抽象类类名 抽象类对象名 = new 抽象类类名(参数可能有可能无) 这种形式

一个类继承抽象类之后,必须重写抽象类中的抽象方法,不想重写,则子类也有变成抽象类

2.抽象类可以有抽象方法和非抽象方法,成员方法,构造方法,成员变量

3.只要包含一个抽象方法,那么类必须为抽象类

//抽象类
public abstract  class Student {
    //成员变量
    String name = "Animal";
 
    // 抽象方法
    public abstract void run ();
    
    // 成员方法
    public void eat (){
        //不能实例化抽象类,抽象方法没有方法体,实例化干啥
        //Student s = new Student();
        
        //忽略内部类实现
        Student s = new Student() {
            @Override
            public void run() {
                
            }
        };
    };
}
​
​
public  class  Test2 extends Student{
    //一个类继承抽象类之后,必须重写抽象类中的抽象方法
    @Override
    public void run() {}
}
​
  //不想重写,则子类也有变成抽象类
public abstract class  Test3 extends Student{
  
   /** 
     @Override
     public void run() {}
    */
     public static void main(String[] args) {
        iterator1 iterator1 = new iterator1() {
            @Override
            public void run() {
                System.out.println("1111111");
            }
        };
       
    }
}

 

方法:不能具体实现的方法,没有方法体。

补充

一个类中包含抽象方法,那么类也必须为抽象类

抽象方法没有方法体,调用抽象方法没有意义,如果类不加static,有的人就会调用这个抽象方法,为了防止程序员进行无意义的调用,所以有抽象方法的类必须是抽象类,无法创建这个对象,也就无法调用抽象方法 
//抽象类
public abstract  class Student { 
    // 抽象方法
    public abstract void run ();
  }

普通类和抽象类有哪些区别?

普通类不能包含抽象方法,抽象类可以包含抽象方法。  抽象类不能直接实例化,普通类可以直接实例化。 

抽象类能使用 final 修饰吗?

不能,定义抽象类就是让其他类继承的,如果定义为 final 该类就不能被继承,这样彼此就会产生矛盾,所以 final不能修饰抽象类

标签:void,public,抽象,抽象类,方法,abstract
From: https://www.cnblogs.com/zhuyilong/p/17114995.html

相关文章

  • 学习笔记jira项目25用fetch抽象http请求
    //TS中的typeof,是在静态环境运行的//return(...[endpoint,config]:Parameters<typeofhttp>)=>exportconstuseHttp=()=>{const{user}=useAuth();//u......
  • 学习笔记jira项目24用fetch抽象http请求
    constapiUrl=process.env.REACT_APP_API_URL;interfaceConfigextendsRequestInit{token?:string;data?:object;}exportconsthttp=async(endpoint:stri......
  • 新房昭之动画美术抽象风格在写作中的借鉴
    艺术类型和抽象风格综述艺术类型在电影电视发展以前,人类艺术的创作集中于文学和绘画两大方面。文学通过文字的编排与描述为读者讲述各色各样的故事,绘画通过色彩与场景的......
  • Java 抽象类
    目录1、抽象方法和抽象类2、抽象类的作用当编写一个类时,常常会为该类定义一些方法,用于描述该类的行为方式,这些方法都有具体的方法体。但在某些情况下,某个基类只是知道其子......
  • 15 抽象类
    抽象类packagecom.zhan.base05Oop.demo06;//关键字:abstract是修饰符抽象//抽象类publicabstractclassTest15_01{publicstaticvoidmain(String[]......
  • 抽象类和接口的区别
    1、抽象类是单继承,接口可以多实现。2、抽象类中方法的访问权限可以任意,接口里方法的访问权限只能是public3、抽象类中可以有构造方法,接口中不能有。4、抽象类中可以有......
  • 36-抽象类
    abstractclasspackagecom.oop.Abstract;//抽象类publicabstractclassAction{//约束,有人帮我们实现//abstract抽象方法,只有方法名字,没有方法身体p......
  • 抽象类的作用
    抽象类不能创建实例,只能当成父类来被继承。从语义的角度来看,抽象类是从多个具体类中抽象出来的父类,他具有更高层次的抽象。从多个具有相同特征的类中抽象出一个抽象类,以这......
  • 抽象类
    //abstract抽象类publicabstractclassAction{//约束~有人帮我们实现//abstract只有方法的名字,没有方法的实现publicabstractvoiddoSomething();......
  • JavaSE4️⃣OOP - 抽象类 & 接口
    1、面向抽象编程含义:引用抽象类型,避免引用具体类型。上层定义规范。不同子类实现具体业务逻辑。调用者只需关心接口定义,无需考虑具体实现。实现方式抽象类接......