关于final关键字和抽象类,接口

final主要用于修饰类,方法以及属性

当用于修饰类时,则这个类不能被子类继承,换而言之该类没有子类

当用于修饰方法时,该方法也是不能被复写的

当用于修饰属性时,同理属性值不能被更改

抽象类,当存在抽象方法时,该类就是抽象类,需要加abstract修饰符,另外该抽象方法必须需要被继承它的子类所重写。

接口可以多实现,可以理解成一个特殊的类,只是这个类里面是由常量以及公共的抽象方法组成的

Interface demo{
   public static final int AGE = 10;
   public abstract void tell()
   {}

}

Interface demo2{
  public abstract void say()
 {}
}

//一个接口可以继承多个接口,弥补了单继承的不足
interface demo3 extends demo,demo1{
}

class M{
    public abstract void printf(){}
}
class A extends M implements demo,demo2
{
   //必须复写tell方法
   public void tell(){}

   public void say(){}
}

class go
{
   public static void main(String[] args)
  {
      A a=new a();
      a.tell();
      a.say();
      a.printf();
  }

}

一个接口可以实现单继承超类,但是可以多继承接口,可以弥补单继承的不足

一个类可以继承多个接口,单继承超类

接口和抽象类的区别:

继承接口必须复写里面所有的方法,并且接口是没有私有变量或者方法的,但是抽象类可以有自己的私有变量或者方法,另外只必须复写其中的抽象方法,其他可以看程序的需要适当复写。

时间: 2024-10-16 07:16:34

关于final关键字和抽象类,接口的相关文章

java——super关键字、final关键字、抽象类、接口

super关键字: 当父类被重写之后,子类对象无法访问父类被重写的方法,super就是为了解决这个问题: 1.使用super关键字访问父类的成员变量和成员方法: super.成员变量 super.成员方法([参数1,...]) 2.使用super关键字访问父类的构造方法:(尽量在类中定义一个无参的构造方法,避免继承时出现错误). final关键字: 1.final关键字修饰的类不可被继承. 2.final关键字修饰的方法不可被重写. 3.java中被final修饰的变量称为常量,一旦被赋值,其值

【Java知识点总结】 final关键字与抽象类

final关键字: 概念: 学习了继承我们发现继承有一个弊端,就是它会打破封装性:如果不让其他类继承该类,就不会有重写了,→可以通过Java中的几个关键字来实现,final(最终化). final关键字是一个修饰符,可以修饰类.方法.变量(成员变量.局部变量.静态变量). 什么时候用? 当程序中一个数据使用时是固定不变的,这时为了增加阅读性,可以给该数据起个名字,这就是变量,为了保证这个变量的值不被修改,加上final修饰,这就是一个阅读性很强的常量.书写规范:被final修饰的常量名所有的字母

【Java总结】final关键字,抽象类,接口,内部类

final final修饰类,表示这个 类不能被继承 final修饰方法,表示这个方法不能被重写 final修饰常量(常量大写),表示常量不能被修改内容 static final修饰的常量,表示全局常量 抽象类 使用abstract修饰的类,这个类是抽象类 使用abstract修饰的方法,为抽象方法,此方法只有生命没有实现 含有抽象方法的类必须是抽象类 抽象类不能实例化,抽象类的子类必须重写父类的抽象方法 不能使用abstract修饰属性,私有方法,构造器,静态方法,final方法 /*我为抽象

第十三节(super关键字、final关键字、抽象类))

super 关键字的作用: 调用父类的构造方法 调用父类的成员方法 需要注意:super 只能应用在成员方法和构造方法中,不能应用在静态方法中(和 this 是一 样的) ,如果在构造方法中使用必须放在第一行 为什么会有 super 关键字? 因为子类必须要调用父类的构造方法,先把父类构造完成,因为子类依赖于父类,没有父,也就没有子有时需要在子类中 显示的调用父类的成员方法 那么我们以前为什么没有看到 super,而且我们也有继承,如:Student 继承了 Person ? 因为子类中我们没有

Java 抽象类 接口

抽象抽象方法定义的格式:public abstract 返回值类型 方法名(参数);抽象类定义的格式:abstract class 类名 {} public abstract class Fu {//抽象类 public abstract void work();//抽象方法 public void eat() {//抽象类可以放普通类 System.out.println("吃饭"); } } public class Zi extends Fu{ public void work(

JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展

JAVA之旅(七)--final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 OK,我们继续学习JAVA,美滋滋的 一.final 我们来聊聊final这个关键字 final可以修饰类,方法和变量 final修饰的类不可以被继承 final修饰的方法不可以被覆盖 final修饰的变量是一个常量,只能被赋值一次 内部类只能访问被final修饰的局部变量 final,故名思意,就是最终的意思,由以上的五种特性,不过final的出现,也是有

Java基础第9天+final关键字、多态(上转型,下转型)、抽象类(特点,成员特点)、接口(特点,成员特点)

1:final关键字(掌握) (1)是最终的意思,可以修饰类,方法,变量. (2)特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. C:它修饰的变量,是一个常量. (3)面试相关: A:局部变量 a:基本类型 值不能发生改变 b:引用类型 地址值不能发生改变,但是对象的内容是可以改变的 B:初始化时机 a:只能初始化一次. b:常见的给值 定义的时候.(推荐) 构造方法中. 2:多态(掌握) (1)同一个对象在不同时刻体现出来的不同状态. (2)多态的前提: A:有继承或者实

Java_Day09(final,多态,抽象类,接口)

1:final关键字(掌握)    (1)是最终的意思,可以修饰类,方法,变量.    (2)特点:        A:它修饰的类,不能被继承.        B:它修饰的方法,不能被重写.        C:它修饰的变量,是一个常量.    (3)面试相关:        A:局部变量            a:基本类型 值不能发生改变            b:引用类型 地址值不能发生改变,但是对象的内容是可以改变的        B:初始化时机            a:只能初始化一次. 

抽象类、final关键字。

final: 1.修饰符变量--->常量,运行的过程中无法重新赋值.2.修饰符方法--->最终的方法,在子类中无法重写3.修饰类--->最终的类,不能被继承. 抽象类作用:通过抽象类,可以避免子类设计的随意性. * 通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用 *抽象方法:使用abstract修饰的方法,抽象方法没有方法体. *抽象类:使用abstract修饰的类,抽象类中可以包含抽象方法.非抽象类不能包含抽象方法. *包含抽象方法的类一定是抽象类, 抽象类中可以没有