07 java的object类和内部类, 匿名类和匿名对象
来源:互联网 发布:淘宝借钱逾期 编辑:程序博客网 时间:2024/06/06 02:24
在java里Object类是在所有类里的最底层的基类,如果一个类没继承另一个类,那编译器就会安排它继承Object类.
class Animal { // ...}等价于:class Animal extends Object { // ...}
在java里所有的类都是Object的派生类, 所以每一个类都具有Object的函数成员功能。其中Object类里有一个toString()函数,用于在被打印输出时触发调用.
class Animal { public String toString() { return "no animal"; }}public class Hello { public static void main(String[] args) { Animal a = new Animal(); System.out.println(a); //会输出a.toString()函数返回的内容 }}
匿名类:
java类的函数成员可以在创建对象时,重写函数体. 这种作法是只针对一个对象来修改, 不是针对所类对象.
如: Human类里有一个walk函数成员, 在创建对象时重写函数体.
Human h = new Human() { public void walk() { ...; } };
final 关键字可用于声明只读的变量与只读的类(终态类);
final声明类表示此类的最终的状态只能是写好的样子, 不能再被继承扩展. 创建对象时也不可以修改函数成员.
final class Hello { public int num = 789; } // 则类Hello不能被继承,也不能在创建对象时重写函数成员
注意一个类可以声明为final或者abstract, 但是不能声明为final abstract.
内部类就是在一个类里定义另一个类,如在类Student里定义Lesson内部类:
class Student { class Lesson { //内部类, 内部类不可以声明静态函数成员(方法) public void lessonName() { System.out.println("lesson name"); } }}
当使用内部类创建对象需要通过顶级的类对象来创建, 如:
public class Main { final class Hello { //内部类 public int num = 789; } public static void main(String[] args) { Main m = new Main(); //创建顶层类对象 Main.Hello h = m.new Hello(); //通过顶层类对象来创建内部类对象 System.out.println(h.num); ////////////////// //匿名对象就是指没有名字的对象。 如"new Student()"就是创建出一个没有名字的对象来直接调用. Student.Lesson l = new Student().new Lesson(); l.lessonName(); }}
阅读全文
0 0
- 07 java的object类和内部类, 匿名类和匿名对象
- java的内部类和匿名类
- JAVA 匿名类和内部类 、匿名内部类
- JAVA中的匿名类、内部类和匿名内部类
- 匿名类和匿名内部类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- java 内部类和匿名类
- Java中的内部类和匿名类
- Java 中的内部类和匿名类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- java内部类和匿名类
- Java内部类和匿名类
- Pat(A) 1076. Forwards on Weibo (30)
- Spark学习笔记(26)在DStream的Action操作之外也可能产生Job操作
- 坚持了半个月刷CCF的算法题(第十四天)
- hbase扫描优化-扫描缓存-cacheing-timetout-retries-batch
- Spark学习笔记(27)详解Spark Streaming的运行日志
- 07 java的object类和内部类, 匿名类和匿名对象
- java中反射的机制
- Spark学习笔记(28)深入理解Spark 2.x中的Structured Streaming
- 嗯哼~2017美团点评前端面试(一年工作经验)
- uCOS-II系统中的任务就绪表
- log4j自动加载原理
- Spark学习笔记(29)Spark Streaming日志和Web监控台
- Android_资料(更新中...)
- XML 解析(转)