java内部类
来源:互联网 发布:淘宝的慈恩数码怎么样 编辑:程序博客网 时间:2024/06/06 07:32
内部类分为四种:
1、成员内部类
2、静态内部类
3、方法内部类
4、匿名内部类
一、例子:
成员内部类:
public class HelloWorld{
String name = "xiaobai";//在内部类的外部定义一个变量
//定义一个内部类
class Inner{
String name = "zhangsan";
public void show(){
//访问外部类的属性
System.out.println("访问外部类"+Inner.this.name);
System.out.println("访问内部类"+name);
}
}
//程序的入口
public static void main(String[] args){
//实例化对象
HelloWorld sl = new HelloWorld();
//实例化内部类对象
Inner a = sl.new Inner();
//调用内部类里面的方法
a.show();
}
}
二、静态内部类:
1、静态内部类不能直接访问外部类的非静态方法,但可以通过new 外部类().成员访问
2、如果外部类的静态成员与内部类的成员名称相同,可通过类名.静态成员 访问
3、创建内部类对象时,不需要创建外部类,直接可以创建内部类
格式:内部类名称 对象名 = new 内部类();
例子:
public class HelloWorld{
//定义外部类的静态属性
public static String name = "xiaobai";
//定义外部类的非静态属性
String age = 21;
//创建内部类
public static class Inner{
public static String name = "zhangsan";
public void show(){
//访问外部类的非静态属性
System.out.println("外部类的age"+new HelloWorld().age);
System.out.println("外部类的name"+HelloWorld.name);
System.out.println("内部类的name"+name);
}
}
public static void main(String[] args){
Inner a = new Inner();
a.show();
}
}
三、方法内部类:
顾名思义,只能在方法内部定义和访问的类
例子:
public class HelloWorld{
public void show(){
String name = "xiaobai";
//定义一个内部类
class Inner{
Inner(){
System.out.println(name);
}
}
//在方法中实例化内部类对象
Inner in = new Inner();
in.Inner();
}
public static void main(String[] args){
HelloWorld h = new HelloWorld();
//只需要调用上面的show方法就可以执行内部类的内容
h.show();
}
}
1、成员内部类
2、静态内部类
3、方法内部类
4、匿名内部类
一、例子:
成员内部类:
public class HelloWorld{
String name = "xiaobai";//在内部类的外部定义一个变量
//定义一个内部类
class Inner{
String name = "zhangsan";
public void show(){
//访问外部类的属性
System.out.println("访问外部类"+Inner.this.name);
System.out.println("访问内部类"+name);
}
}
//程序的入口
public static void main(String[] args){
//实例化对象
HelloWorld sl = new HelloWorld();
//实例化内部类对象
Inner a = sl.new Inner();
//调用内部类里面的方法
a.show();
}
}
二、静态内部类:
1、静态内部类不能直接访问外部类的非静态方法,但可以通过new 外部类().成员访问
2、如果外部类的静态成员与内部类的成员名称相同,可通过类名.静态成员 访问
3、创建内部类对象时,不需要创建外部类,直接可以创建内部类
格式:内部类名称 对象名 = new 内部类();
例子:
public class HelloWorld{
//定义外部类的静态属性
public static String name = "xiaobai";
//定义外部类的非静态属性
String age = 21;
//创建内部类
public static class Inner{
public static String name = "zhangsan";
public void show(){
//访问外部类的非静态属性
System.out.println("外部类的age"+new HelloWorld().age);
System.out.println("外部类的name"+HelloWorld.name);
System.out.println("内部类的name"+name);
}
}
public static void main(String[] args){
Inner a = new Inner();
a.show();
}
}
三、方法内部类:
顾名思义,只能在方法内部定义和访问的类
例子:
public class HelloWorld{
public void show(){
String name = "xiaobai";
//定义一个内部类
class Inner{
Inner(){
System.out.println(name);
}
}
//在方法中实例化内部类对象
Inner in = new Inner();
in.Inner();
}
public static void main(String[] args){
HelloWorld h = new HelloWorld();
//只需要调用上面的show方法就可以执行内部类的内容
h.show();
}
}
0 0
- 【Java】【内部类】Java 内部类简介
- [Java] Java 内部类
- Java 内部类(成员内部类、局部内部类、静态内部类和匿名内部类)
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、局部内部类、静态内部类、匿名内部类)
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- java的内部类、匿名内部类、局部内部类
- java内部类之成员内部类、静态内部类
- java 成员内部类 局部内部类,匿名内部类
- Java 静态内部类/内部类
- java内部类、静态内部类 小结
- Java内部类,静态内部类
- JAVA 内部类与静态内部类
- java内部类--局部内部类
- Java 内部类以及匿名内部类
- 深入单链表的快速排序详解
- c++生成机器码
- 时间管理
- 无废话ExtJs 入门教程一[学习方法]
- newInstance()和new()
- java内部类
- codeforces 4D Mysterious Present
- 随想录(关于ucore)
- snmp渗透辅助脚本两则
- POJ 3421 X-factor Chains (约数枚举)
- ssh2与基于jquery的ajax配合方法
- 32位代码段和16位代码段切换的实例
- HDU 5195 DZY Loves Topological Sorting(线段树单点更新)
- 同时运行两个函数