java-访问修饰符各种应用场景(纯干货)

关于访问修饰符的个人总结:	
	I、同的包下的类只有public可以访问,default与protected在当前类中可以访问,
	相同包下不同的类可以访问,但是protected可以在子类继承父类中使用,而default不可以,
	而private只有在当前类中可以使用,
	final修饰的类不能被继承,而且不能修饰构造方法
具体分析:
	被任何的类访问,可以使用的就用public
	包下就用默认不写使用的修饰符(default)
	想被子类访问那就用protected
	想在当前类中就用private
常见规则:
	(1)使用public来修饰类,一个Java文件中最好只有一个类,如果一个文件中有多个类,类名和文件名一样的类名,其他的类不能使用public来修饰,
	(2)以后所有的构造方法都用public修饰符修饰,如果不想让创建对象使用private进行修饰
	(3)后所有的成员变量都使用private来修饰,通过set与get方法进行访问,涉及安全的问题,此处不做具体讨论,具体如下:
1、private修饰成员变量时,本类中可以通过实例对象.属性名进行访问。
	、其它类中不可以通过实例对象.属性名进行访问,需要通过原始类提供的get方法进行属性的访问。
	、当实例化一个对象之后,如果不给对象进行初始化。那么对象的属性会默认初始化。即:int型成员变量为0,引用类型成员变量为null,double类型成员变量为0.0,...
II、引入包中的类:
	1、用包名+类名
	java.unil.Scanner 对象名 = new java.unilSanner()
	2、在包下面直接导入包即可
	package 包名
	import java.unil.Scanner
内部类:
	员内部类
	局部内部类
	匿名内部类
内部类仍然是一个独立的类,在编译之后会被编译成独立的.class文件,
但是前面冠以外部类的类名和$号
内部类不能用普通的方式访问,内部类是外部类的一个成员
,因此内部类可以自由的访问外部类的成员变量,无论是否是private。
 

你可能感兴趣的:(Java,java基础,访问修饰符)