[Java] 权限修饰符、内部类与代码块相关题目


权限修饰符、内部类与代码块相关题目

1. 访问权限修饰符

1. 请按从大到小的顺序写出四种访问权限修饰符。
	private、protected、default(默认的)、public


2. 请问修饰“类”可以使用什么权限修饰符?
	类可以使用 default(默认的) 和 public 进行修饰


3. 请问修饰“成员属性”可以使用什么权限修饰符?
	四种访问权限修饰符都可以


4. 请问构造方法可以使用什么权限修饰符?
	四种访问权限修饰符都可以


2. 内部类

1. 请问有几种形式的内部类?
	两种,分别是成员内部类和匿名内部类。


2. 请问内部类会被编译成class文件吗?
	内部类仍然是一个独立的类,编译后内部类会被编译成单独的class文件。


3. 请问下面横线处分别填写什么代码,才能实现打印:
class Outside{
	private int a = 100;
	class Inside{
		private int a = 200;
		public void show(){
			int a = 300;
			System.out.println(___________);//100
			System.out.println(___________);//200
			Ssytem.out.println(___________);//300
		}
	}
}

class Outside {
    private int a = 100;
    class Inside {
        private int a = 200;
        public void show() {
            int a = 300;
            System.out.println(new Outside().a);//100
            System.out.println(this.a);//200
            System.out.println(a);//300
        }
    }
}



4. 请问下面横线处分别填写什么代码,才能实现打印:
class Outside{
	public void show(){
		__________
		class Inside{
			public void show(){
				System.out.println(“a =+ a);//10
			}
		}
	}
}
	
public class Outside {
    public void show() {
        int a = 10; //定义变量
        class Inside {
            public void show() {
                System.out.println("a = " + a);//10
            }
        }
        //创建内部类对象并调用show方法
        Inside inside = new Inside();
        inside.show();
    }
}



5. 请按要求填写代码:
interface Animal {
    public void show();
}

class Test {
    public static void main(String[] args) {
        fun(________________________);//请用子类的形式调用
        fun(________________________);//请用匿名内部类的形式调用
    }

    public static void fun(Animal a) {
        a.show();
    }
}


interface Animal {
    public void show();
}

class Test {
    public static void main(String[] args) {
        //定义方法内部类 实现 Animal 接口
        class Cat implements Animal {
            @Override
            public void show() {
                System.out.println("成员内部类作为参数...");
            }
        }

        fun(new Cat());//请用子类的形式调用
        fun(new Animal() {
            @Override
            public void show() {
                System.out.println("匿名内部类作为参数...");
            }
        });//请用匿名内部类的形式调用
    }

    public static void fun(Animal a) {
        a.show();
    }
}

  

3. 代码块

1. 请问有几种代码块?它们分别是什么?它们的作用是什么?
	几种代码块:代码块一共有三种
	分别是什么:分别是局部代码块、构造代码块和静态代码块
	他们的作用:
		局部代码块:限制局部变量的作用范围,提前释放内存
		构造代码块:每次创建对象时都会执行,可用来初始化对象
		静态代码块:类被加载到内存时执行,且只执行一次,可用于项目中仅需执行一次的操作



原文链接:https://qwert.blog.csdn.net/article/details/105356204

发布了369 篇原创文章 · 获赞 381 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Regino/article/details/105356204