2023年5月15日星期一

权限修饰符和代码块


title: 权限修饰符和代码块
categories:

  • 技术

tags:

  • JAVA

#权限修饰符
定义:是用来控制一个成员变量能够被访问的范围的

修饰符 同一个类中 同一个包中的其他类 不同包下的子类 不同包下的无关类
private × × ×
空着不写 × ×
protected ×
public

注:实际开发中,一般只用private和public

  • 成员变量私有
  • 方法公开

特例:如果方法中的代码是抽取其他方法中的共性代码,这个方法一般也私有


代码块

局部代码块

  • 特点:提前结束变量的生命周期,即使释放内存
public class Text {
	public static void main(String[] args) {  
		{
			int a = 10;
			System.out.println(a);
		}// 局部代码块
	}
}

构造代码块

  • 特点:抽取构造方法中的重复代码
  • 格式:写在成员位置
  • 执行时机:再创建本类对象的时候会先执行构造代码块再执行构造方法
public class Text {
	private String name;
	private int age;
	{
	System.out.println("看看我执行了吗")
	}
	public Text() {
	}
	public Text(String name, int age) {
		this.name = name;
		this.age = age;	
	}
}

静态代码块

  • 特点:通过static关键字修饰,随着类的加载而加载,并且自动触发、只执行一次
  • 格式:static{}
  • 使用场景:在类加载的时候,做一些数据初始化的时候使用

抽象方法和抽象类

抽象方法

  • 定义:将共性的行为(方法)抽取到父类之后。由于每一个子类执行的内容是不一样,所以,在父类中不能确定具体的方法体。该方法就可以定义为抽象方法
  • 格式:public abstract 返回值类型 方法名(参数列表);

抽象类

  • 定义:如果一个类中存在抽象方法,那么该类就必须声明为抽象类
  • 格式:public abtract class 类名{}

注意事项

  • 抽象类不能实例化
  • 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
  • 可以有构造方法
  • 抽象类的子类:要么重写抽象类中的所有抽象方法;要么是抽象类

没有评论:

发表评论

为你写诗

 竹意 赋竹几时诗意浓,风雪知我意朦胧 寒风凛冽吹竹叶,大雪纷飞映竹容 月下竹影摇清梦,雪中竹枝舞星穹 书篇小竹诉音避,愿留诗意在竹中 一潦西流水 甲辰 霜月 望 于沪