欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-08 14:36:54
...

包的概述

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();
	}
}
相关标签: JavaSE