Java简单基础的复习(三)

package关键字的概述及作用

  1. package包就是文件夹,作用是将字节码文件(.class)进行分类
  2. package的注意事项:
    • 2.1 package语句必须是程序的第一条可执行的代码
    • 2.2 package语句在一个java文件中只能有一个
    • 2.3 如果没有package,默认表示无包名

import关键字

  1. 作用是为了让有包的类对调用者可见,不用写全类名
  2. 导包的格式:import 包名;

内部类

  1. 在类中定义类就是内部类。
  2. 内部类访问特点
    • a:内部类可以直接访问外部类的成员,包括私有。
    • b:外部类要访问内部类的成员,必须创建对象。
    • c:创建方式:外部类名.内部类名 对象名 = 外部类对象.内部类对象;
  3. 成员内部类的私有使用:
class Demo1{
	public static void main(String[] args){
		//错误的访问
		//outer.inner oi = new outer.new inner();
		//oi.method();
		//正确的访问
		outer o = new outer();
		outer.print();
	}
}
class outer{
	private int num = 10;
	//匿名内部类
	private class inner{
		public void method(){
			System.out.println(num);
		}
	}
	//公共方法访问内部类
	public void print(){
		inner i = new inner();
		i.method();
	}
}
  1. 面试题:
//要求:使用已知的变量,在控制台输出30,20,10,下面问好中填写什么		
class Outer {
	public int num = 10;
	class Inner {
		public int num = 20;
		public void show() {
			int num = 30;
			System.out.println(?);//
			System.out.println(??);//
			System.out.println(???);//
		}
	}
	class InnerClassTest {
		public static void main(String[] args) {
			Outer.Inner oi = new Outer().new Inner();
			oi.show();
		}	
	}


答案:
num
this.num
outer.this.num

匿名内部类

  1. 内部类的简化写法,前提是要存在一个类或者一个接口,因为类没有名字。
interface inter{//创建一个接口
	public void print();
}
class Outer {
	public void method(){
		new Inter(){//创建匿名内部类(要不继承类,要不实现接口)
			public void print(){//重写接口inter的print方法
				System.out.println("print");
			}
		}.print();//调用匿名内部类的方法
	}
}
	class InnerClassTest {
		public static void main(String[] args) {
			Outer o = new Outer();
			o.method();
		}	
发布了11 篇原创文章 · 获赞 12 · 访问量 1659

猜你喜欢

转载自blog.csdn.net/qq_41816516/article/details/104826565