Java---内部类
内部类的概念
内部类就是一个类内部包含另一个类
分类:
- 成员内部类
- 局部内部类(包含匿名内部类)
格式:
修饰符 class 外部类名称
{
修饰符 class 内部类名称
{
//
}
}
注意:内用外,随意访问;外用内,需要内部类对象.
代码示例
public class Body {
private String name;
public class Heart {
public void show() {
System.out.println("名字是" + name);//内部随便访问外部.即使外部类是私有的
}
public void method() {
System.out.println("我是内部类");
}
}
public void methodwai() {//外部类方法
System.out.println("我是外部类方法");
}
public Body(String name) {
this.name = name;
}
public Body() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
使用成员内部类
1.间接方法
2.直接方法
外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称();
代码示例
间接方法
内部类
public class Body {
private String name;
public class Heart {
public void method() {
System.out.println("我是内部类方法");
System.out.println("名字是" + name);//内部随便访问外部.即使外部类是私有的
}
}
public void methodwai() {//外部类方法
System.out.println("我是外部类方法");
new Heart().method();//再内部类方法里面调用内部类
}
public Body(String name) {
this.name = name;
}
public Body() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Main方法
public class Main {
public static void main(String[] args) {
Body one =new Body();
one.methodwai();//调用外部类方法,里面含有内部类对象
}
}
直接使用
内部类
public class Body {
private String name;
public class Heart {
public void method() {
System.out.println("我是内部类方法");
System.out.println("名字是" + name);//内部随便访问外部.即使外部类是私有的
}
}
public void methodwai() {//外部类方法
System.out.println("我是外部类方法");
new Heart().method();//再内部类方法里面调用内部类
}
public Body(String name) {
this.name = name;
}
public Body() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Main方法
public class Main1 {
public static void main(String[] args) {
//使用外部类创建内部类对象来使用内部类
//第一个new body()实际上就是一个构造方法
Body.Heart one = new Body("小黑").new Heart();
one.method();
}
}
标签:Body,Java,String,void,name,---,public,内部
From: https://www.cnblogs.com/harper886/p/17390699.html