java面向对象学习笔记
2024-08-27 10:18:20
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();
}
}
最新文章
- [转载]大型网站应用中 MySQL 的架构演变史
- Android设计模式源码解析之Builder模式
- .NET设计模式(18):迭代器模式(Iterator Pattern)(转)
- 生成器generator
- 例题6-5 Boxes in a line uVa12657
- Java:Date、Calendar、Timestamp的区别、相互转换与使用【转载】
- last与lastlog命令
- SQL Server 索引的自动维护 <;第十三篇>;
- LeeCode-Rotate Array
- JSON入门之二:org.json的基本用法
- Linux Shell脚本入门--grep命令详解
- node c++多线程插件构想
- MyBatis-Plus工具快速入门
- Angular4 —— NgModule
- Springboot的异步线程池
- [Leetcode 104]求二叉树的深度Depth of BinaryTree
- 2-16 MySQL字段约束-索引-外键
- SQLServer2008或SQLServer2008 R2没有智能提示解决方法
- linux利用sh脚本上传下载文件到ftp服务器
- hdu 4679 Terrorist’s destroy 树的直径+dp
热门文章
- my ambition
- java 笔记(3) —— 动态代理,静态代理,cglib代理
- [摘录] 关于 java 并发包
- 经常遇到Please ensure that adb is correctly located at &#39;D:\java\sdk\platform-tools\adb.exe&#39; and can be e
- session 和 cookie 的区别与联系
- TF255466: Team Foundation Server 的配置过程无法继续。以前的更新或安装需要重
- 手动写的第一个eChart代码
- java通过LinkedList实现堆栈和队列数据结构
- paper 29 :CV会议+领先研究室+专家+代码网址
- PAT乙级 1003. 我要通过!(20)