1. java访问权限修饰词
修饰词 | 同一个类 | 同一个包 | 不同包的子类 | 不同包的非子类 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
default | √ | √ | ||
private | √ |
-
public :
public的权限是最大的项目中所有的类都能访问
-
protected :
不同包的非子类不能访问,其他的都能访问
-
default :
默认,只能在同一个包里才能访问
-
private :
权限最小只能内部访问,作用保护类属性。
2. java强制类型转换
public class Demo {
public static void main(String[] args) {
int a = 129;
byte b = (byte)a;
System.out.println(b);//输出为-127;
}
}
原因:
3. 单例
单例即实例对象只有一个
-
饿汉单例
class Singleton{ private static final Singleton singleton = new Singleton(); private Singleton(){} // 将构造方法私有化,使得Singleton无法在外部实例化,只能通过内部的方法获得 public static Singleton getSingleton(){ return singleton; } } public class Test { public static void main(String[] args) { Singleton a = Singleton.getSingleton();//获得单例 System.out.println(a); } }
饿汉单例就是不管三七二十一,先自动实例化单例
-
懒汉单例
class Singleton{ private static Singleton singleton = null; private Singleton(){} public static Singleton getSingleton(){ //只有在调用函数是才会实例单例 if(singleton == null){ singleton = new Singleton(); } return singleton; } }