首页 » 网站推广 » phpabstractfinal技巧_JAVA笔记十五面向对象关键字abstractfinal

phpabstractfinal技巧_JAVA笔记十五面向对象关键字abstractfinal

访客 2024-12-09 0

扫一扫用手机浏览

文章目录 [+]

package cn.hz;/ @author hz @version 1.0 定义一个抽象类:Person /public abstract class Person { private String name; //属性:姓名 //非抽象方法 public void show(){ System.out.println("人的信息"+name); }}

把稳:abstract润色符在润色类时必须放在类名前。

2.abstract润色方法:

abstract润色方法,会使这个方法变成抽象方法,也便是只有声明(定义)而没有实现,实现部分以";"代替。
须要子类继续实现(覆盖),如抽象方法在抽象类中的利用代码如下:

phpabstractfinal技巧_JAVA笔记十五面向对象关键字abstractfinal

package cn.hz;/ @author hz @version 1.0 定义一个抽象类:Person /public abstract class Person { private String name; //属性:姓名 //非抽象方法 public void show(){ System.out.println("人的信息"+name); } //抽象方法 public abstract void eat();}

把稳:在抽象类中的抽象方法的abstract是不能省略的,但是在接口中的抽象方法abstract是可以省略的。

phpabstractfinal技巧_JAVA笔记十五面向对象关键字abstractfinal
(图片来自网络侵删)

抽象方法在接口中的利用代码如下:

package cn.hz;/ @author hz @version 1.0 定义Person的数据访问层接口 /public abstract interface PersonDao { public abstract Person find(); public abstract void add(); public abstract void update(); public abstract void delete();}

接口中的方法只能是抽象方法,以是我们在实际编写接口时会直接将接口处和方法处的abstract省略,代码如下:

package cn.hz;/ @author hz @version 1.0 定义Person的数据访问层接口 /public interface PersonDao { public Person find(); public void add(); public void update(); public void delete();}小结:一个类如果是抽象类,可以含有抽象方法也可以含有非抽象方法,但是如果一个类中含有抽象方法,则该类一定是抽象类。
抽象方法可以位于接口和抽象类中,但是须要被非抽象子类或实在现类实现final:

abstract为抽象的,在java中有些场合须要类,方法,变量等不许可改变,如何处理呢?java供应了关键字final用于限定内容不再改变。

1.final润色类:

当final用于润色一个类时,该类成为终极类,无法被继续,代码如下:

package cn.hz;/ @author hz @version 1.0 定义一个抽象类:Person /public final class Person { private String name; //属性:姓名 //非抽象方法 public void show(){ System.out.println("人的信息"+name); }}

该类不许可被继续,其他同普通类利用同等,在java中如String类,Integer类等类都是被final润色的,不许可继续,大家利用时一定要把稳。

2.final润色方法:

被final润色的方法一定是非抽象方法,该方法不许可被重写,但是该方法可以被继续

package cn.hz;/ @author hz @version 1.0 定义一个抽象类:Person /public class Person { private String name; //属性:姓名 //该方法不许可被重写 public final void show(){ System.out.println("人的信息"+name); }}

把稳:final润色方法和类互不影响。

3.常量:

fianl润色一个变量时,则该变量成为常量,后续利用中不许可再做改变,并且常量须要在定义时直接赋值,代码如下:

package cn.hz;/ @author hz @version 1.0 定义一个常量 /public class Person { public final String NAME="无名氏"; //属性:姓名}

常量命名一样平常为全部大写,在实际开拓中如圆周率PI一样平常定义为常量。

小结:被final润色的类不能被继续,被final润色的方法不能被重写,被final润色的变量为常量不能再改变。

至此常见的关键字就说到这里!

标签:

相关文章

phphookframework技巧_android hook的实践和应用

是个开源的框架,在github上有源码的,直接下载apk后安装激活就可以利用,很多地方有这方面的教程,针对不同的手机架构,有大牛做...

网站推广 2024-12-12 阅读0 评论0