面向对象其他知识点

final关键字

概念

final 是最终的意思,可以修饰类、方法、变量。

修饰类是最终类,不能被继承。

修饰方法是最终方法,不能被重写。

修饰变量,只能赋值一次。

修饰引用类型变量,是地址值不能变。

修饰基本类型变量,是数值不能变。

public static final 修饰的变量 称为常量,所有字母大写。

权限修饰符

类别

private

默认/缺省/不写/default

protected

public

作用

被 private 修饰的属性只能本类中访问

默认不写  只能在本包中访问

被 protected 修饰后,只能在子类和本包使用

被 public 修饰后所有的类都可使用

static关键字

概念

静态的意思,它可以修饰成员方法,成员变量。

修饰的成员,称为类成员,优先于对象存在。

可以被类名直接调用,可以被对象共享。

静态只能访问静态。

内存特点

静态变量会随着类的加载而加载,类只加载一次,静态变量也只加载一次。

应用

Javabean不用

工具类设计的时候用静态关键字,方便调用,不用创建对象。

静态还可用设计单例模式。

单例设计模式

作用

保证一个类对外只能创建一个对象

饿汉单例

特点:

创建类的时候对象已经存在,不管是否使用

实现步骤:

1:私有化构造,目的是为了不让外界new,因为每次new都是新的对象

2:定义一个类变量,记住类的一个对象,不让外界new,自己new,以确保new一次定义变量的目的,完成自己new对象,使用 static 是为了让其随着类加载而加载一次,使用 private 修饰不让外界直接访问

示例代码:

public class App{
    private static App app = new App();
    private App(){}
    private static App getApp(){
        return app;
    }
}

abstract 不能和 final static 一块使用

枚举

概念及定义格式

枚举是一个特殊类,一一列举的意思, 特点是可以限制对象个数。

往往使用它表达 指定对象,比如表达交通灯,表达四季。

定义格式:

修饰符 enum 枚举类名{
    名称1,名称2,名称3;
   //跟类一样 类能定义什么 这里能定义什么
} 

匿名内部类

本质

创建一个 (匿名的) 子类对象。

直接 new 不用变量名接收

作用及定义格式

快速创建实现接口或者继承类的子类对象

定义格式:

new 接口/类(){重写方法}
使用场景

当方法参数是一个父类或者是一个接口的时,且需要重写方法不多,可以用匿名内部类代表其子类对象

代码块

概念

代码块是类的5大成分之一(成员变量、构造器,方法,代码块,内部类),定义在类中方法外。

在Java类下,使用 { } 括起来的代码被称为代码块 。

分类

静态代码块:

格式:static{ }

特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发、只执行一次。

使用场景:在类加载的时候做一些静态数据初始化的操作,以便后续使用。

构造代码块:

格式:{ }

特点:每次创建对象,调用构造器执行时,都会执行该代码块中的代码,并且在构造器执行前执行。

使用场景:初始化实例资源。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
JavaSE

Hello World

2024-3-21 8:14:38

JavaSE

Hello World

2024-3-21 8:14:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索