JavaSE06—类的其他问题
1. Object类
Object类是所有类的父类。如果一个类没有使用extends关键字明确表示继承另外一个类,那么这个类就默认继承Object类。
Object类的方法中有一个toString()方法。
2. 内部类
在类的内部也可以定义另一个类,如果类Outer的内部再定义一个类Inner,此时类Inner称为内部类。
内部类的使用举例:
程序中内部类Inner可以直接调用外部类Outer中的a属性,如果把内部类拿到外面单独声明,那么在使用外部类中的a属性时,需要产生Outer类的对象,再由对象去调用Outer类的a属性。
注意:外部类是无法访问内部类的属性的。
在方法中也可以定义内部类:
注意:在方法中定义的内部类只能访问方法中的final类型的局部变量,因为用final定义的局部变量相当于一个常量,它的声明周期抄出方法运行的生命周期。
3. 匿名内部类
4. 匿名对象
匿名对象就是没有明确的声明的对象。
如下例:
5. this关键字
this关键字强调对象本身,也就是调用该方法的对象。如下例:
1. Object类
Object类是所有类的父类。如果一个类没有使用extends关键字明确表示继承另外一个类,那么这个类就默认继承Object类。
Object类的方法中有一个toString()方法。
2. 内部类
在类的内部也可以定义另一个类,如果类Outer的内部再定义一个类Inner,此时类Inner称为内部类。
内部类的使用举例:
class Outer { int a = 35; void inst(){ Inner in = new Inner(); in.display(); } class Inner { void display() { System.out.println(a); } } } public class JavaTest { public static void main(String[] args){ Outer out = new Outer(); out.inst(); } }
程序中内部类Inner可以直接调用外部类Outer中的a属性,如果把内部类拿到外面单独声明,那么在使用外部类中的a属性时,需要产生Outer类的对象,再由对象去调用Outer类的a属性。
注意:外部类是无法访问内部类的属性的。
在方法中也可以定义内部类:
class Outer { int a = 5; void inst(){ class Inner { void display(){ System.out.println(a); } } Inner in = new Inner(); in.display(); } }
注意:在方法中定义的内部类只能访问方法中的final类型的局部变量,因为用final定义的局部变量相当于一个常量,它的声明周期抄出方法运行的生命周期。
3. 匿名内部类
interface A { public void fun1(); } class B { int i = 10; public void get(A a){ a.fun1(); } public void test(){ this.get(new A(){ public void fun1(){ System.out.println(i); } }); } }
4. 匿名对象
匿名对象就是没有明确的声明的对象。
如下例:
class Person { private String name = "张三"; private int age = 25; public String talk(){ return "我是:"+name+",今年"+age+"岁"; } } public class TestNoName { public static void main(String[] args){ System.out.println(new Person().talk); } }
5. this关键字
this关键字强调对象本身,也就是调用该方法的对象。如下例:
class Person { private String name; private int age; public Person(String name,int age){ this.name = name; this.age = age; } }
发表评论
-
JavaSE20—绘图
2011-05-18 20:10 1504JavaSE20—绘图 1. 绘制图形 Graphics类是 ... -
JavaSE19—Swing高级控件(下)
2011-05-15 17:28 1089JavaSE19—Swing高级控件(下) 1. 工具栏与对话 ... -
JavaSE18—Swing高级控件(上)
2011-05-12 22:22 1497JavaSE18—Swing高级控件(上) 1. 为窗体添加 ... -
JavaSE17—GUI事件
2011-05-08 20:52 1042JavaSE17—GUI事件处理机 ... -
JavaSE15—多线程
2011-05-03 19:10 828JavaSE15—多线程 1. 多线程简介 程序:程序是计算 ... -
JavaSE14—窗体程序开发(下)
2011-05-01 16:55 969JavaSE14—窗体程序开发(下) 1. 基础组件(续) ... -
JavaSE13—窗体程序开发(中)
2011-05-01 16:53 1132JavaSE13—窗体程序开发(中) 1、 布局方式 1) ... -
JavaSE12—窗体程序开发(上)
2011-04-29 16:59 1465JavaSE12—窗体程序开发 ... -
JavaSE11—网络编程初步
2011-04-29 16:58 941JavaSE11—网络编程初步 1. 背景知识 1) 端口 ... -
JavaSE 10 —IO流
2011-04-28 20:00 863JavaSE 10 —IO流 1.IO流简介 Java的输入 ... -
JavaSE09—Java类集框架
2011-04-26 19:32 835JavaSE09—Java类集框架 1. 类集接口 接口: ... -
JavaSE08—包,访问权限及异常处理
2011-04-26 19:31 630JavaSE08—包,访问权限 ... -
JavaSE07—Java常用类库
2011-04-26 19:30 628JavaSE07—Java常用类库 1. String类和S ... -
JavaSE05—抽象类与接口
2011-04-26 19:27 620JavaSE05—抽象类与接口 1. ... -
JavaSE04—类的封装,继承与多态
2011-04-26 19:26 684JavaSE04—类的封装,继 ... -
JavaSE03—类和对象
2011-04-26 19:24 627JavaSE03—类和对象 1. ... -
Java SE02——数组
2011-04-26 19:23 629Java SE02——数组 1. 数组的声 ... -
Java SE01——原生数据类型
2011-04-26 19:18 831Java SE01——原生数据类型 1.Java中的数据类 ...
相关推荐
JavaSE基本知识 适合新手入门 JavaSE基本知识 适合新手入门 JavaSE基本知识 适合新手入门
javaSE
这个文件里的内容适合Java初学者,String类为引用类,不属于基本数据类型,但是String类非常的重要,在后边学习的JavaSE中,几乎使用的全是String类,这个文件里边包含了对String字符串的拆分、拼接以及怎么声明进行...
JavaSE原理-日期类API导学.md
Javase银行类源码加注解
javase的部分笔记以后逐渐更新,笔记比较细但是还没有写完
这个文件里的内容适合Java初学者,这个文件里边包含的是8基本数据类型的包装类、如何创建包装类以及包装类的使用方法。这也是小编在刚开学学习JavaSE时记录的一些笔记,里面的内容非常适合JavaSE入门者学习,都是...
javaSE
JavaSE 1.6 参考文档 JavaSE 1.6 API
javase脑图.emmx
JavaSE的编程资料,包括基础,集合框架,IO流等等
JavaSE李学重讲义
JAVASE基础知识详解
JavaSE-06多线程 JavaSE-06多线程 JavaSE-06多线程 JavaSE-06多线程
javaSE08类的命名空间和访问权限.ppt
学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件...
JavaSE基础.md
赠送jar包:javase-2.2.jar; 赠送原API文档:javase-2.2-javadoc.jar; 赠送源代码:javase-2.2-sources.jar; 赠送Maven依赖信息文件:javase-2.2.pom; 包含翻译后的API文档:javase-2.2-javadoc-API文档-中文...
该项目为Javase技术点测试,包括了线程、集合、内部类,各设计模式、枚举、io流、自定义注解等编程思想书籍几乎所以技术点,欢迎下载
传智播客 付东 javase笔记 javase的简单总结 框架