首页 > 其他分享 >Day58 抽象类

Day58 抽象类

时间:2024-01-25 15:13:06浏览次数:16  
标签:abstract public Day58 Action 抽象类 方法 class

抽象类

通过abstract修饰符修饰类 就叫抽象类

通过abstract修饰符修饰方法 就叫抽象方法

Action.java 及笔记!

package com.oop.demo10;

//在一个类前面加上 abstract 就变成了抽象类:类  extends: 单继承~     (接口可以多继承)
public abstract class Action {

    //约束~有人帮我们实现~  就写了前面的框架  不写方法后面的{  }
    //abstract,抽象方法,只有方法名字,没有方法的实现!




    public abstract void doSomething();  //加了abstract是抽象方法   那类也必须是抽象类 有abstract
    
    

    public void saySomething(){    //抽象类里面也可以放  普通方法

    }

    //抽象类的特点:
    //1.不能new这个抽象类,只能靠子类去实现它:约束, 继承抽象类的子类还必须重写方法
    //2.抽象类中可以写普通的方法~
    //3.抽象方法却必须在抽象类中~(一旦类里面有抽象方法    类也必须改成抽象类)
    //抽象的抽象:约束~

    //思考题?  抽象类既然不能new,那还存在构造器么?  点击out目录下的class文件 可得抽象类也是有构造器的     
           //存在的意义     抽象出来~   提高开发效率
    }

Action.class

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.oop.demo10;

public abstract class Action {
    public Action() {//无参构造
    }

    public abstract void doSomething();

    public void saySomething() {
    }
}

A.java

package com.oop.demo10;

//抽象类的所有方法,继承了它的子类,都必须要实现它的方法~ 除非子类也加了abstract也是抽象类~
public class A extends Action{ //如果不重写父类的抽象方法   这里写extends会报错
    @Override
    public void doSomething() {        //重写不能加abstract   不然也会变抽象方法 类也要改成抽象类

    }
}

Application.java

package com.oop.demo10;

public class Application {
    public static void main(String[] args) {
      //new Action();  //报错了  抽象类无法被new
    }
}

标签:abstract,public,Day58,Action,抽象类,方法,class
From: https://www.cnblogs.com/baixiaofan/p/17987201

相关文章

  • 今天学习基础知识,抽象类和接口
    今天学习基础知识,抽象类和接口,之前这块学的不太好没有太了解。抽象类与接⼝1.抽象类抽象类和抽象⽅法都使⽤abstract关键字进⾏声明。如果⼀个类中包含抽象⽅法,那么这个类必须声明为抽象类。抽象类和普通类最⼤的区别是,抽象类不能被实例化,只能被继承。privateInnerClas......
  • 抽象类示例
    1publicabstractclassCard{2privateStringname;3privatedoublemoney;45publicabstractvoidpay(doublemoney);67publicStringgetName(){8returnname;9}1011publicvoidsetName(Stringname){......
  • 抽象类与接口
    一.抽象类与接口的定义1.抽象类:如果一个类中有被abstract修饰的方法,那么该类也要被abstract修饰,并且抽象类的抽象方法需要子类继承抽象类通过重写抽象方法实现,那么该类就是抽象类。2.接口:接口是抽象方法的集合,接口中只有抽象方法,被interface修饰。二.抽象类与接口的特......
  • 将小部分源码设计精髓带入到开发中来(工厂模式、适配器模式、抽象类、监听器)
    前言咋说呢,大学期间阅读过很多源码(Aop、Mybatis、Ioc、SpringMvc…),刚开始看这些源码的时候觉得云里雾里,一个没什么代码量的人突然去接触这种商业帝国级别的成品源码的时候,根本无从下手,这种感觉很难受,但是也庆幸自己熬过了那段难忘且充实的日子,随着自己代码量的慢慢增多,也开始慢慢......
  • 抽象类
    //抽象类类:extends:单继承   接口可以多继承publicabstractclassAction{  //abstract抽象方法只有方法名字,没有实现的效果  publicabstractvoiddoSomething();  //1.不能new这个抽象类,只能靠子类去实现它:约束  //2.抽象类中可以写普通方法  ......
  • 抽象类和接口
    抽象类必须用关键字abstract;抽象类可以包含抽象方法和具体方法,抽象方法可有可无;抽象类可以有实例变量(字段)抽象类不能用来创建对象;(所有的对象都是通过类来描述的,但并不是所有的类都是用来描述对象的)子类必须实现父类的抽象方法,否则子类也定义为abstract类接口接......
  • 抽象类&接口
    一:抽象类注意事项抽象类不能创建对象,若强行创建,编译无法通过而报错。只能创其非抽象类的子类的对象。抽象类一定有构造器,作用是为了其子类创对象时,初始化父类属性使用的。抽象类中未必有抽象方法,但是有抽象方法的类一定是抽象类。抽象类的子类,必须重写父类中所有的抽......
  • 面向对象之抽象类
    【一】什么是抽象类抽象类是一种不能被实例化的类,它充当了一种模板或者说是蓝图。在抽象类中,你可以定义一些抽象方法,这些抽象方法没有具体的实现,即没有方法体。它们必须在抽象类的子类中被实现,除非那个子类也是一个抽象类。抽象类可以包含具体方法(已实现的方法)和抽象方法(未实现......
  • 抽象类
    概述abstract修饰符可以用来修饰方法也可以用来修饰类。如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。 抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。 抽象方法,只有方......
  • 27-抽象类 Abstract
    抽象类是一个特殊的父类,其内部允许编写抽象方法 publicclassAbstractDemo{publicstaticvoidmain(String[]args){//抽象类不能实例化//Animalanimal=newAnimal();//error:Animalisabstract;cannotbeinstantiatedCatca......