在千锋学习的第二十天
中国加油! 武汉加油! 千锋加油! 我自己也加油!
今天学习就 内部类中的成员内部类,静态内部类, 局部内部类,和匿名内部类,以及Object方法
package com.qfe.day20.t2;
public class TestStudent {
public static void main(String[] args) {
Student stu =new Student();
Student stu2 =new Student(18,"tom");
System.out.println(stu);
System.out.println(stu2);
}
}
class Student{
private int age ;
private String name;
public Student(){}
public Student(int age, String name) {
super();
this.age = age;
this.name = name;
}
public String toString(){
return name + " " +age;
}
null 0
tom 18
package com.qfe.day20.t2;
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
package com.qfe.day20.t2;
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());
}
}
class Animal{}
class Dog extends Animal{}
true
false
A B C D
package com.qfe.day20.t2;
public class TestWorker {
public static void main(String[] args) {
// TODO Auto-generated method stub
Worker worker= new Worker("tom",25,"male",99.5);
Worker worke= new Worker("jack",25,"male",99.5);
System.out.println(worker.equals(worke));
System.out.println(worke);
System.out.println(worker);
}
}
class Worker{
String name;
int age ;
String sex;
double score;
public Worker(String name, int age, String sex, double score) {
super();
this.name = name;
this.age = age;
this.sex = sex;
this.score = score;
}
@Override
public String toString() {
return name + age+ sex+score;
}
public boolean equals(Object obj){
//比较两个对象的地址是否一样、
if(this ==obj){
return true;
}
//确定对象不是非空
if(obj ==null){
return false;
}
//确认类型
if(this.getClass()!=obj.getClass()){
return false;
}
//转型(转型的前提是类型肯定是Worker)
Worker stu =(Worker)obj;
//比较内容
if(this.name.equals(stu.name)&&this.age==age&&this.sex.equals(stu.sex)&&this.score==score){
return true;
}
return false;
//比较两个对象的地址是否一样
}
}
false
jack 25 male 99.5
tom 25 male 99.5
A B D
package com.qfe.day20.t2;
public class TestLamp {
public static void main(String[] args) {
Lamp lamp =new Lamp();
class RedLight implements Light{
@Override
public void shine() {
System.out.println("shine in red");
}
}
lamp.on(new RedLight());
lamp.on(
new Light(){
public void shine(){
System.out.println("shine in yellow");
}
}
);
}
}
interface Light{
void shine();
}
class Lamp{
public void on(Light light){
light.shine();
}
}
shine in red
shine in yellow