实验课代码
内部类和泛型类(4.1)
1.内部类
除外部外,其他类无法访问内部类!!
public class Main{
public static void main(String[] args) {
Outer outer = new Outer();
outer.print();
Outer.Inner inner = outer.getInner();
inner.print();
}
}
class Outer {
private int index = 100;
class Inner {
private int index = 50; //内部类成员
void print() {
int index = 30; //内部类局部变量
System.out.println(index); //输出内部类局部变量
System.out.println(this.index); //输出内部类成员变量
System.out.println(Outer.this.index); //输出外部类成员变量
}
}
void print() {
Inner inner = new Inner();
inner.print(); //调用内部类
}
Inner getInner() { //创建匿名内部类对象
return new Inner();
}
}
要调用内部类的方法时,必须先构造内部类对象,可用匿名的方式构造内部类对象。
2.泛型类
本质是参数化类型
import java.util.*;
public class Main{
public static void main(String[] args) {
ArrayList<Student>as=new ArrayList<>();
//构造泛型类对象as
Student s1 = new Student("admin","1234567");
Student s2 = new Student("admin","1234567");
as.add(s1);
as.add(s2);
//将两个对象加到as中
System.out.println("学生数量为:"+as.size());
}
}
class Student{
private String password;
private String account;
public Student(String password,String account){
this.account=account;
this.password=password;
}
//class a{ public a(){} }构造方法,实例化类时自动调用
}