千锋学习的的20天;内部类

千锋学习的20天
今天学习了内部类
中国加油


二(toString方法)写出下列代码的运行结果
class Student{
private int age;
private String name;
public Student(){}
public Strdent(int age,String name){
this.age=age;
this.name=name;
}
public String toString(){
return name+””+age;
}
}
public classs TestStudent{
public static void main(String[]args){
Student stu1=new Student();
Student stu2=new Student(18,”tom”);
System.out.println(stu1);
System.out.println(stu2);
}
}
运行结果是
0 null
18 tom


三、(equals)写出下面程序运行的结果
public class TestEquals{
public static void main(String[] args){
String str1=new String(“Hello”);
String str2=new String(“Hello”);
System.out.println(str1.equals(str2));
System.out.println(str1==str2);
}
}
输出结果
true
false


四(getClass)写出下面程序的运行结果
class Animal{}
class Dog extends Animal{}
public class TestGetClass{
public static void main(String args[]){
Animal a1=new Dog();
Animal a2=new Animal();
System.out.println(a1 instanceof Animal);
System.out.println(a1.getClass()==a2.getClass);
}
}
输出的结果是
true
false


五(内部类)java中的内部类包括(ABCD)
A、成员内部类
B、静态内部类
C、局部内部类
D、匿名内部类
E、公开内部类
F、抽象内部类


六、为worker 类增加equals 和toString方法。

public class TestWorker {
	public static void main(String[] args) {
		Worker w1=new Worker("tom",21);
		Worker w2=new Worker("annie",21);
		Worker w3=new Worker("tom",21);
		System.out.println(w1);
		System.out.println(w1.equals(w2));
		System.out.println(w1.equals(w3));	
	}
}
class Worker{
	String name;
	int age;
	public Worker() {}
	public Worker(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	public String toString() {
		return name+"\t"+age;
	}
	public boolean equals(Worker work) {
		if(this==work) {
			return true;
		}
		if(work==null) {
			return false;
		}
		if(this.getClass()!=this.getClass()) {
			return false;
		}
		if(this.name.equals(work.name)&&this.age==work.age) {
			return true;
		}
		return false;
	}
}

```java


九(局部内部类)有下面代码
class OuterClass{
private int value1=100;
private static int value=200;
public void method(int value3){
final int value4=400;
class InnerClass{
public void print(){
//1
}
}
}
}
问:下面那些代码放在//1出能够编译通过?(ABCD)
A、System.out.println(value1);
B、System.out.println(value2);
C、System.out.println(value3);
D、System.out.println(value4);


十、已知接口Light定义如下
interface Light{
void shine();
}
//定义lamp类
class lamp{
public void on(Light light){
Lighe.shine();

}
}
//写一个类TestLamp,部分代码如下:
public class TestLamp{
public static void main(String args[]){
Lamp lamp=new Lamp();
//1
//2
}
}
1、 在//1处室友局部内部类技术,调用lamp的on方法要求输出“shine in red”


class Red extends Lamp implements Ligth{
			@Override
			public void shnie() {
				System.out.println("shine in red ");	
			}
		}		
Ligth r=new Red();
		l.on(r);

```java
在这里插入代码片

2、 在//2处使用匿名内部类技术,调用lamp的on方法要求输出“shine in yellow”

Ligth y=new Ligth() {
			public void shnie() {
				System.out.println("shine in yellow ");	
			}
		};
		l.on(y);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值