JavaSE之包,权限修饰符,内部类

包的概述

1,什么是包?
   Java中的包,就相当于电脑中的文件夹。
2,包的声明格式
   package 包名. 包名. 包名. .;
   如:package cn.sxflow.test;
3,包与包之间的互相访问
   导包的格式,import 包名.类名
   例如:

package cn.sxflow.test02;
//被导入的包
public class Test02 {
	public void show() {
		System.out.println("我是被导入的包中的一个类");
	}
}
package cn.sxflow.test01;
//将包导入
import cn.sxflow.test02.Test02;
public class Testo1 {
	public static void main(String[] args) {
		Test02 test = new Test02();
		test.show();
	}
}

权限修饰符概述

Java中提供了四种访问权限,publicprotecteddefaultprivate
其中:
public 的范围最大,所有的包,所有的类都可以访问;注意:一个文件中只允许有一个public修饰的类
protected 本包中的任意类和本包在其他包中的子类均可以访问;
default ,默认修饰符,在本包范围内可以随便访问;
private的范围最小,唯有本类可以访问;

值得注意的是,如果一个类的构造方法被private修饰,这个类将不可以创造对象。

内部类

1,什么是内部类?
   将类写在其他类的内部,如成员位置,局部变量位置等。
2,内部类的使用情况
   描述一个对象的时候,这个事物内部还包含其他的事物。
   如:

class Person{//外部类 class School{//内部类 } }

3,成员内部类
   定义在外部类中的成员位置。
   访问方式: 外部类名.内部类名 变量名 = new 外部类名().new 内部类名();
4,局部内部类
   定义在外部类方法中的局部位置,与访问方法中的的局部变量相似,可通过调用方法进行访问。如:

public class Test01 {
	public static void main(String[] args) {
		Person p = new Person();
		p.test();
	}
}

class Person {// 外部类
	public void test() {
		System.out.println("展示学校前");
		class School {// 内部类
			void show() {
				System.out.println("这是我的学校,大同大学");
			}
		}
		School school = new School();
		school.show();
		System.out.println("展示学校后");
	}
}

5,匿名内部类
   创建每个类型子类对象的快捷方式,一般用于只使用一次的类;
格式:new 父类或者接口名(){ //对父类方法进行重写};
举例:

//接口
interface Person{
	void show();
}

public class Test01 {
	public static void main(String[] args) {
		Person person = new Person(){
			@Override
			//匿名内部类
			public void show() {
				System.out.println("这是我的学校,山西大同大学!");				
			}	
		};
		person.show();
	}
}

猜你喜欢

转载自blog.csdn.net/qq_42036640/article/details/83997392