`
woaiwofengkuang
  • 浏览: 25733 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

JAVA SE学习笔记04

阅读更多
今天呢我们来看一下JAVA中的内部类。
1、定义:那么顾名思意内部类就是定义在类中的类。例如:
public class Person{
       private int age;
       class Name{
       }
}
中的Name就是一个内部类。要注意的是内部类是编译时的语法。
2、内部类的分类
内部类分为:成员内部类、局部内部类、静态内部类和匿名内部类。
1)成员内部类:作为外部类的一个成员存在与外部类的属性方法并列。
如:Name就是一个成员内部类。
注意:(1)在内部类中可以直接访问外部类的么有属性,不会破坏封装性。
(2)内部类和外部类的实例允许命名冲突(相同的名字)。
(3)在内部内中访问实例变量要用this.属性名。在内部类中访问外部类的实例变量要用:外部类名.this.属性名。
(4)在另一个类中要创建该内部类要先创建一个外部类的实例,然后再创建该成员内部类的实例。
如:Person p = new Person();
Person.Name n = p.new Name();
(5)成员内部类不可以有static成员,因为static属性是在类加裁的时候被首先创建,而在这时内部类还没被创建。
2)局部内部类:在外部类的方法中定义的内部类。如:
public class Person(){
       private int age;
       public void run(){
              class Run{
              }      
       }
}
类Run就是局部内部类。
注意:(1)局部内部类的定义和局部变量的定义一样,不用加限定符,其作用域是为本代码块。
(2)它可以访问外部类的实例变量,也可以访问外部类的局部变量,但是外部类的局部变量必须为final的。
(3)可以配合interface来使用来做到强制性的弱耦合。
(4)在另外的一个类的中不可以创建局部内部类的实例,只能在局部内部类中来创建。
3)静态内部类:也是定义在类的内部用static来修饰。如:
public class Person{
       private int age;
       static class Name{
       }
}
Name便是一个static内部类。
注意:(1)静态内部类只能访问外部类的static成员。
(2)在其它的类中要创建一个static内部类的对象不用外部类的对象。
Person.Name n = new Person.Name();
4)匿名内部类:定义在类的内部并且没有类名。如:
public class Person{
       private int age;
       class{
//一个匿名内部类
       }
}
注意:1)匿名内部类只能创建一次实例。它从属于局部内部类。所局部内部类的所有限制都对它有效。
2)匿名内部类是唯一一种没有构造方法的类。
3)匿名内部类可以实现接口的回调。
分享到:
评论

相关推荐

    java se学习笔记

    良葛格Java学习笔记,html版本,内容还可以,希望初学者可以有用。

    Java学习资料 java se JAVA基础学习笔记和演示案例代码项目

    Java学习资料 java se JAVA基础学习笔记和演示案例代码项目

    Java JDK7学习笔记-光盘

    《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新。并详细介绍了jvm、jre、java se api、jdk与ide之间的对照关系。必要时从java se api的源代码分析,...

    java李兴华学习笔记之JAVA_SE基础部分

    收集的java李兴华老师的课件笔记。感觉还不错,适合回顾和新手补习。

    精品JAVA SE 学习笔记

    mldn 李兴华老师的笔记 2009年java核心讲解

    JAVA SE学习笔记

    NULL 博文链接:https://hwhanwan.iteye.com/blog/1717997

    Java+JDK+7学习笔记_林信良编著.pdf

    《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新。并详细介绍了jvm、jre、java se api、jdk与ide之间的对照关系。必要时从java se api的源代码分析,...

    Java学习笔记7.0

    《Java JDK6学习笔记》是作者良葛格本人近几年来学习Java的心得笔记,结构按照作者的学习脉络依次展开,从什么是Java、如何配置Java开发环境、基本的Java语法到程序流程控制、管理类文件、异常处理、枚举类型、泛型...

    java学习笔记

    java学习笔记大全:java内容介绍 java编程可以分成三个方向: 1、java se (j2se)桌面开发 java中的基础中的基础 2、java ee (j2ee)web开发 3、java me (j2me)手机开发 java se课程介绍 java面向对象编程(基础) java...

    张龙 java se课程笔记

    张龙 java se课程笔记 java学习者的经典必看笔记

    java jdk 学习笔记

    java jdk 学习笔记java jdk 学习笔记java jdk 学习笔记

    java se个人学习笔记

    该资源为个人学习笔记,(包含学习中个人觉得易混淆的,难理解的,某些便于理解的内存直观图,知识点的对比等),有部分没整理出来 。 本人菜鸟 。该资源仅供se初学者,高手莫笑 。

    JAVA SE 归档笔记

    公司几位高手一起总结的一份JAVA SE的笔记.总结的很精练,新手可当学习向导查阅,达人可当工具手册使用.真是练习JAVA,杀人必备的好文档!

    Java学习笔记

    ●本书是作者多年来教学实践经验的总结,汇集了学员在学习课程或认证考试中遇到的概念、操作、应用等问题及解决方案, ●针对Java SE 8新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新, ●...

    Java_se基础毕向东老师全程笔记

    传智播客Java_SE基础毕向东老师全程笔记.pdf

    java se基础笔记

    java学习笔记,主要是基础部分

    非常详细javaSE学习笔记.rar

    从java历程开始到javaSE出道,涉猎到了javaSE所有的知识点,里面不仅有知识点笔记还有练习源码例子以及相关资料和PPT等。非常实用值得你拥有

    Java JDK 7学习笔记源代码

    《java jdk 7学习笔记》针对java se 7新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新。并详细介绍了jvm、jre、java se api、jdk与ide之间的对照关系。必要时从java se api的源代码分析,...

    【狂神】JAVA学习全套笔记(完整版)

    1、JAVA SE 2、MySQL + JDBC 3、JAVA WEB 4、Mybatis 5、SSM 6、大前端 7、Vue 8、SpringBoot 9、Spring Security 10、Shiro 11、Spring Cloud 12、JVM 13、JUC 14、Git 15、Linux 16、Redis 17、ElasticSearch 18、...

    Java学习笔记&工作经验总结.rar

    1.Java_SE基础全程学习笔记.pdf 2.Java开发工作经验高级特性总结.pdf 3.Java数据结构笔记.pdf 4.Java学员总结笔记.pdf

Global site tag (gtag.js) - Google Analytics