1.内部类

//外部类HelloWorld
public class HelloWorld{ //外部类的私有属性name
private String name = "imooc"; //外部类的成员属性
int age = 20; //成员内部类Inner
public class Inner {
String name = "爱慕课";
//内部类中的方法
public void show() {
System.out.println("外部类中的name:" + HelloWorld.this.name );
System.out.println("内部类中的name:" + name );
System.out.println("外部类中的age:" + age);
}
} //测试成员内部类
public static void main(String[] args) { //创建外部类的对象
HelloWorld o = new HelloWorld (); //创建内部类的对象
Inner inn = o.new Inner() ; //调用内部类对象的show方法
inn.show();
}
}

2.java中的静态内部类 (static意思是静态的。方法前加上static叫做静态方法,类前加上static叫做静态类。静态方法必须存在于静态类中,但静态类中的方法可以不都是静态方法。使用静态方法时,直接用类名+“.”+方法名。不用再实例化,创建类的对象,达到方法调用方便,节省空间!)

//外部类
public class HelloWorld { // 外部类中的静态变量score
private static int score = 84; // 创建静态内部类
public static class SInner {
// 内部类中的变量score
int score = 91; public void show() {
System.out.println("访问外部类中的score:" + HelloWorld.score );
System.out.println("访问内部类中的score:" + score);
}
} // 测试静态内部类
public static void main(String[] args) {
// 直接创建内部类的对象 SInner si = new SInner();
// 调用show方法
si.show();
}
}

3.java中的方法内部类

//外部类
public class HelloWorld { private String name = "爱慕课"; // 外部类中的show方法
public void show() {
// 定义方法内部类
class MInner {
int score = 83;
public int getScore() {
return score + 10;
}
} // 创建方法内部类的对象
MInner M = new MInner(); // 调用内部类的方法
int newScore = M.getScore(); System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore);
} // 测试方法内部类
public static void main(String[] args) { // 创建外部类的对象
HelloWorld mo = new HelloWorld(); // 调用外部类的方法
mo.show();
}
}

最新文章

  1. [转载]大型网站应用中 MySQL 的架构演变史
  2. Android设计模式源码解析之Builder模式
  3. .NET设计模式(18):迭代器模式(Iterator Pattern)(转)
  4. 生成器generator
  5. 例题6-5 Boxes in a line uVa12657
  6. Java:Date、Calendar、Timestamp的区别、相互转换与使用【转载】
  7. last与lastlog命令
  8. SQL Server 索引的自动维护 <第十三篇>
  9. LeeCode-Rotate Array
  10. JSON入门之二:org.json的基本用法
  11. Linux Shell脚本入门--grep命令详解
  12. node c++多线程插件构想
  13. MyBatis-Plus工具快速入门
  14. Angular4 —— NgModule
  15. Springboot的异步线程池
  16. [Leetcode 104]求二叉树的深度Depth of BinaryTree
  17. 2-16 MySQL字段约束-索引-外键
  18. SQLServer2008或SQLServer2008 R2没有智能提示解决方法
  19. linux利用sh脚本上传下载文件到ftp服务器
  20. hdu 4679 Terrorist’s destroy 树的直径+dp

热门文章

  1. my ambition
  2. java 笔记(3) —— 动态代理,静态代理,cglib代理
  3. [摘录] 关于 java 并发包
  4. 经常遇到Please ensure that adb is correctly located at 'D:\java\sdk\platform-tools\adb.exe' and can be e
  5. session 和 cookie 的区别与联系
  6. TF255466: Team Foundation Server 的配置过程无法继续。以前的更新或安装需要重
  7. 手动写的第一个eChart代码
  8. java通过LinkedList实现堆栈和队列数据结构
  9. paper 29 :CV会议+领先研究室+专家+代码网址
  10. PAT乙级 1003. 我要通过!(20)