java学习之路--内部类
来源:互联网 发布:老师备课软件 编辑:程序博客网 时间:2024/06/08 17:14
1.内部类:
内部类就是在一个类的内部在定义一个类
代码:
public class Outer {
private String s="hello world";
class Inner{
public void info(){
System.out.println(s);
}
}
public void fun(){
new Inner().info();
}
public static void main(String[] args) {
new Outer().fun();
}
}
这样做的好处是:可以让内部类直接访问外部类的私有属性
其实内部类也可以变为“外部类”
看代码
public class Outer {
private static String s="hello world";
static class Inner{
public void info(){
System.out.println(s);
}
}
public void fun(){
new Inner().info();
}
public static void main(String[] args) {
new Outer.Inner().info();
}
}
把内部类声明为静态类,这样内部类就变为“外部类”
public class Outer {
private static String s="hello world";
static class Inner{
public void info(){
System.out.println(s);
}
}
public void fun(){
new Inner().info();
}
public static void main(String[] args) {
new Outer.Inner().info();
new Inner().info();//输出结果是一样的,因为现在内部类已经变为外部类了。
}
}
结果是一样
外部类也可以实例化来调用内部类的方法
class Outer {
private String s="hello world";
class Inner{
public void info(){
System.out.println(s);
}
}
};
public class InnerTest {
public static void main(String[] args) {
Outer outer=new Outer();//实例化外部对象
Outer.Inner in=outer.new Inner();//实例化内部对象
in.info();//调用内部类的方法
}
}
在方法中也可以来声明内部类
class O{
//方法中内部类想要访问方法的参数,则方法的参数必须是final
public void fun(final int temp){
class Inner{//在方法中定义内部类
public void info(){
System.out.println("hello world"+temp);
}
}
new Inner().info();
}
}
public class InnerTest1 {
public static void main(String[] args) {
new O().fun(30);
}
}
内部类就是在一个类的内部在定义一个类
代码:
public class Outer {
private String s="hello world";
class Inner{
public void info(){
System.out.println(s);
}
}
public void fun(){
new Inner().info();
}
public static void main(String[] args) {
new Outer().fun();
}
}
这样做的好处是:可以让内部类直接访问外部类的私有属性
其实内部类也可以变为“外部类”
看代码
public class Outer {
private static String s="hello world";
static class Inner{
public void info(){
System.out.println(s);
}
}
public void fun(){
new Inner().info();
}
public static void main(String[] args) {
new Outer.Inner().info();
}
}
把内部类声明为静态类,这样内部类就变为“外部类”
public class Outer {
private static String s="hello world";
static class Inner{
public void info(){
System.out.println(s);
}
}
public void fun(){
new Inner().info();
}
public static void main(String[] args) {
new Outer.Inner().info();
new Inner().info();//输出结果是一样的,因为现在内部类已经变为外部类了。
}
}
结果是一样
外部类也可以实例化来调用内部类的方法
class Outer {
private String s="hello world";
class Inner{
public void info(){
System.out.println(s);
}
}
};
public class InnerTest {
public static void main(String[] args) {
Outer outer=new Outer();//实例化外部对象
Outer.Inner in=outer.new Inner();//实例化内部对象
in.info();//调用内部类的方法
}
}
在方法中也可以来声明内部类
class O{
//方法中内部类想要访问方法的参数,则方法的参数必须是final
public void fun(final int temp){
class Inner{//在方法中定义内部类
public void info(){
System.out.println("hello world"+temp);
}
}
new Inner().info();
}
}
public class InnerTest1 {
public static void main(String[] args) {
new O().fun(30);
}
}
- java学习之路----内部类之---匿名内部类
- java学习之路--内部类
- java学习之---内部类
- 黑马程序员 【】java学习之路——内部类和匿名内部类简介
- Java学习笔记之局部内部类
- JAVA学习资料之局部内部类
- JAVA学习资料之成员内部类
- 内部类之Java学习笔记
- Java for Anfroid 学习之 内部类
- java学习之匿名内部类
- java学习之day08--内部类
- java中的内部类之简单学习
- java学习之静态内部类
- Java学习:内部类
- Java内部类学习
- java内部类学习!!
- java学习---内部类
- Java 内部类学习
- include()和require()区别
- 异步消息的传递-回调机制
- Quart 2D画图基本方法
- android studio之代码重构
- 解决“应用程序无法启动,应用程序的并行配置不正确”
- java学习之路--内部类
- Git - 简易指南
- C语言中restrict关键字学习
- GetInstance与new
- 我的CSND空间开通了,
- linux僵死进程
- #include指令双引号和<>的区别
- Unix下分5种基本的I/O模型
- c++实现二分查找