1.作用域
1.1 public
定义为public的class、interface可以被其他任何类访问,定义为public的field、method可以被其他类访问,前提是首先有访问这个类的权限。
注意:
一个.java文件只能包含一个public类,但可以包含多个非public类。如果有public类,文件名必须和public类的名字相同。
如果不确定是否需要public,就不声明为public,即尽可能少地暴露对外的字段和方法。
1.2 private
定义为private的field、method无法被其他类访问,private访问权限被限定在class的内部。由于Java支持嵌套类,如果一个类内部还定义了嵌套类,那么,嵌套类拥有访问private的权限。
1.3 protected
protected作用于继承关系。定义为protected的字段和方法可以被子类访问,以及子类的子类
1.4 package
包作用域是指一个类允许访问同一个package的没有public、private修饰的class,以及没有public、protected、private修饰的字段和方法。只要在同一个包,就可以访问package权限的class、field和method,同一个指包名必须完全一致,包没有父子关系
把方法定义为package权限有助于测试,因为测试类和被测试类只要位于同一个package,测试代码就可以访问被测试类的package权限方法。
package abc;
// package权限的类:
class Hello {
// package权限的方法:
void hi() {
}
}
1.5 final
用final修饰class可以阻止被继承
用final修饰method可以阻止被子类覆写
用final修饰field可以阻止被重新赋值
用final修饰局部变量可以阻止被重新赋值
2.数组和List
数组添加删除元素比较麻烦,因此可以使用List接口。List接口实现了常用的ArrayList、LinkedList,经常使用的是ArrayList
// 初始化
int[] ns = { 1, 4, 9, 16, 25 };
List<String> list = new ArrayList<>();
//添加元素
list.add("2");
//按照索引添加
list.add(2,"2");
//删除元素
list.remove("2");
/按照索引删除
list.remove(2);
//按照索引获取值
list.get(2);
标签:Java,package,补充,class,list,private,基础知识,访问,public
From: https://www.cnblogs.com/pengu1998/p/17375922.html