1.在JAVA中,我们可以在类的内部再定义类;外部的类叫外部类,外部类内部的类即为内部类。
1️⃣内部类的名字不能和外部类的名字相同;
2️⃣内部类可以使用外部类的private类型的数据;外部类可以通过内部类.属性或内部类对象名.属性的方式访问内部类的对象;
2.成员内部类:声明在类内部且在方法外的内部类;
1️⃣
class Kobe{
String kobe;
public class Bryant{
String kobe;
int jerseynum;
public Bryant(){
}
public void setKobe(String kobe) {
this.kobe = kobe;
}
public String getKobe() {
return kobe;
}
public void setJerseynum(int jerseynum) {
this.jerseynum = jerseynum;
}
public int getJerseynum() {
return jerseynum;
}
public void slam(){
dunk();
}
}
static class Peramount{
public void Genji(){
System.out.println("静态内部类");
}
}
public void dunk(){
System.out.println("Ray Allen Iverson");
}
}
public class Monica{
public static void main(String[] args) {
Kobe.Peramount kp=new Kobe.Peramount();
kp.Genji();
Kobe kb24=new Kobe();
Kobe.Bryant kb=kb24.new Bryant();
kb.slam();
}
}
静态内部类
Ray Allen Iverson
2️⃣
class Kobe{
int num=3;
class Bryant{
int num=23;
public void Genji(){
int num=24;
System.out.println(num);
System.out.println(this.num);
System.out.println(Kobe.this.num);
}
}
}
public class Monica{
public static void main(String[] args) {
Kobe kb24=new Kobe();
Kobe.Bryant kb=kb24.new Bryant();
kb.Genji();
}
}
24
23
3
3.局部内部类:定义在外部类方法体内的类即为局部内部类;
public class Monica {
public String kobe(){
class Kobe{
int score=233333;
String sc="禾斗匕匕";
public int getScore() {
return score;
}
public String getSc() {
return sc;
}
}
Kobe KB24=new Kobe();
return KB24.getSc()+KB24.getScore();
}
public static void main(String[] args) {
Monica mj=new Monica();
System.out.println(mj.kobe());
}
}
禾斗匕匕233333