java 抽象类与接口

学习心得

一、专业课

1instanceof

instanceof运算符是用来在运行时指出对象是否是特定类或者接口的一个实例。 instanceof 通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子 类的一个实例。 用法:
result= object instanceofclass
参数:
Result
:布尔类型。
Object
:必选项。任意对象表达式。
Class
:必选项。任意已定义的对象类

如果 ObjectClass的类型不对,eclipse编译时就会报错

2final

根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义, 它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改 变:设计或效率

final类不能被继承,没有子类,final类中的方法默认是final的。
final
方法不能被子类的方法覆盖,但可以被继承。
final
成员变量表示常量,只能被赋值一次,赋值后值不再改变。(没有默认值)
final
不能用于修饰构造方法。
注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法 认是final类型的

常量的命名方式,大写,单词之间用下划线分割,

通常配合static使用,优化内存

f1(finalinti) //参数用final修饰,则不可改变参数值

2抽象类(abstract关键字)
1)只给出方法定义而不具体实现的方法被称为抽象方法,抽象方法是没有方法体 的,在代码的表达上就是没有“{}”。使用abstract修饰符来表示抽象方法和抽象类。 2abstract修饰符表示所修饰的类没有完全实现,还不能实例化。如果在类的方 法声明中使用abstract修饰符,表明该方法是一个抽象方法,它需要在子类实现。 如果一个类包含抽象方法,则这个类也是抽象类,必须使用abstract修饰符,并且 不能实例化。
3)注意,抽象类除了包含抽象方法外,还可以包含具体的变量和具体的方法。类 即使不包含抽象方法,也可以被声明为抽象类,防止被实例化。

4非抽象子类必须实现父类的全部抽象方法

5)构造函数和静态函数以及finalstaticprivate修饰的函数不能使用 abstract 饰符

6abstractclass 有构造函数,交给子类实现调用

3、接口interFace关键字)

一个Java接口interface)是一些方法特征的集合,这些方法特征来自于具 体方法,这些方法符合它们一般来自于一些在系统中不断出现的方法。一个接 只有方法的特征,而没有方法的实现,因此这些方法在不同的地方被实现时, 可以具有完全不同的行为

1)没有构造函数

2voidwarning(); //默认为publicstatic void warning();

3inta=2;//默认为publicstatic final inta = 2;

4.抽象类和接口的区别

1.语法层面上的区别

  1)抽象类可以提供成员方法的实现细节,而接口中只能存在publicabstract 方法;

  2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是publicstatic final类型的;

  3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;

  4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。

5)都不能被实现

2.设计层面上的区别

1)抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。

2)设计层面不同,抽象类作为很多子类的父类,它是一种模板式设计。而接口是一 种行为规范,它是一种辐射式设计。

学习心得:

1.不忘初心,继续学习





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值