java se 权限修饰符、final关键字、代码块、内部类

一、权限修饰符

1.简述:

  • public:最高权限,那都可以访问
  • protected:受保护的
  • default:default 默认的(不写权限修饰符就是默认权限,不能直接把default写出来)
  • private:私有的(只能在自己类中直接访问)

2.不同权限的访问能力

public

protected

default(空的)

private

同类

yes

yes

yes

yes

同包不同类

yes

yes

yes

no

不同包子父类

yes

yes

no

no

不同包非子父类

yes

no

no

no

public -> 最大权限 privat->最小权限

建议:

属性: 用 private -> 封装思想

成员方法: public -> 便于调用

构造: public -> 便于new对象

二、final关键字

1.final修饰类

格式: public final class 类名{}

特点:被final修饰的类不能被继承

2.final修饰方法

格式:修饰符 final 返回值类型 方法名(形参){

方法体

return 结果}

特点:被final修饰的不能被重写(final 和abstract 不能同时修饰一个方法)

3.final修饰局部变量

格式:final 数据类型 变量名 = 值

特点:被final修饰的变量不能被二次赋值

4.final修饰对象

格式:final 数据类型 对象命 = new 对象()

特点:被final修饰的对象,地址值不能改变,对象中的属性值可以改变

5.final修饰成员变量

格式:final 数据类型 成员变量 = 值

特点:1.需要手动赋值。2.不能二次赋值

三、代码块

1.构造代码块

格式:{

代码

}

执行特定:优先于方法执行,每new一次,就会执行一次

2.静态代码块

格式:static{

代码

}

特点:静态代码块优先于构造代码块和构造方法执行,而且只执行一次。

3.静态代码块使用场景

一些代码最先初始化而且只初始化一次

四、内部类

在java中允许一个类定位于另外一一个类,前者是内部类,后者是外部类

分类: 成员内部类,局部内部类,匿名内部类

1.静态成员内部类

格式:直接在定义内部类的时候加上static关键字

public class A{

static class B{

}

}

注意:

  1. 内部类可以定义属性,方法,构造
  2. 静态成员内部类可以被final或者abstract修饰(final->不能继承,abstract->不能new)
  3. 静态内部类不能调用外部的非静态成员
  4. 内部类还可以被四种权限修饰符修饰

调用内部静态类:外部类.内部类 对象名 = new 外部类();

2.非静态成员内部类

格式:

public class A{

public class B{

}

}

注意:

  1. 内部类可以定义属性,方法,构造
  2. 内部类还可以被四种权限修饰符修饰

调用非静态内部类:外部类.内部类 对象名 = new 外部类().new 内部类();

3.局部内部类

可以在代码中构造中代码块中

4.匿名内部类

格式:

new 接口/对象类(){

重写方法

}.重写的方法();

或者:

类名 对象命 = new 接口/对象类(){

重写方法

}

对象命.重写的方法();

使用情况:仅简单使用一下接口里面的方法。

全部评论
天哪,凌晨两点还在学😨
点赞 回复 分享
发布于 今天 02:57 江苏

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务