ThinkInJava之内部类】的更多相关文章

一:内部类概述 将一个类的定义放在另一个类的内部,这就是内部类.内部类是Java一种非常有用的特征,因为他允许你把一些逻辑相关的数据组织在一起,并控制它的可见性. 二:内部类的创建 我们都知道类的创建语法(简略)如下 [public |...] class 类名 [implements|....]{ 定义属性(注意不同的修饰符(如public ....)) 定义方法语法(构造方法或普通方法) } 而内部类的创建就是把该类放在外部类的 同属性的位置或方法(包括构造方法)内    定义例下(希望大家…
JAVA基础之内部类 2017-01-13 1.java中的内部类都有什么?! 成员内部类 局部内部类 匿名内部类 静态内部类 2.内部类详解 •成员内部类 在一个类的内部再创建一个类,成为内部类 1)在一个类中使用内部类,可以在内部类中直接存取所在类的私有属性或方法 class Outer{ //外部类Outer private int i = 111 ;//外部类私有变量 class Inner{ //内部类Inner private int j = 222 ;//内部类私有变量 publi…
提起java内裤类(innerClass)很多人不太熟悉,实际上类似的概念在c++里面也有,那就是嵌套类(Nested Class),关于这俩者的区别,在下文中会有对比.内部类从表面上看,就是在类中定义了一个类(下文可以看到,内部类可以在很多地方定义),而实际上并没有那么简单,乍看上去内部类似乎有些多余,他的用处可能对于初学者来说并不是那么显著,但是随着对他的深入了解,你会发现java的设计者在内裤类上面的确是用心良苦.学会使用内部类,是掌握java高级编程的一部分,他可以让你更优雅的设计你的程…
内部类含义: 在Java中允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类. Inner class 一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称. Inner class的名字不能与包含它的外部类的类名相同. 创建内部类对象: 外部类名.内部类名变量名= new外部类名() .new内部类名(); 创建静态内部类对象: 外部类名.内部类名变量名= new外部类名.内部类名(); 成员内部类: (static成员内部类和非static成员内部类) 成员内部类…
序言 有位小同学要我写一篇这个的总结,我说那好吧,那就动手写总结一下这个内部类的知识,感觉这个在面试中也会经常遇到,内部类.反射.集合.IO流.异常.多线程.泛型这些重要的基础知识大家都比较容易记不住.大概是自己平常用的比较少,所以经常性的会忘记,现在通过博文的方式记录下来,以后忘记可以回过头来自己看. --WH 一.什么是内部类 顾名思义,内部类就是在一个类的内部在定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了. 在一个类中有很多属性,比…
1. 为什么要使用内部类     内部类就是定义在一个类内部的类,那么为什么要使用内部类呢?主要原因有以下几点:第一,内部类中定义的方法能访问到它所在外部类的私有属性及方法:第二,外部类无法实现对同一包中的其他类隐藏,而内部类可以做到这一点:第三,匿名内部类在我们只需使用该类的实例依次时可以有效减少我们的代码量.关于以上三点,我们在下文中会举出具体例子进行进一步的说明.   2. 如何使用内部类 (1)使用内部类访问外围类私有变量     在内部类中,我们能够访问到它所在外部类中的私有实例变量及…
------- android培训.java培训.期待与您交流! ---------- 内部类 将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类). 内部类访问特点: •  内部类可以直接访问外部类中的成员,包括私有成员. •  而外部类要访问内部类中的成员必须要建立内部类的对象. 内部类的位置: 内部类定义在成员位置上:                 •  可以被private static成员修饰符修饰.                 •  被static修饰的内…
Java 内部类 分四种:成员内部类.局部内部类.静态内部类和匿名内部类. 1.成员内部类: 即作为外部类的一个成员存在,与外部类的属性.方法并列. 注意:成员内部类中不能定义静态变量,但可以访问外部类的所有成员. public class Outer{ private static int i = 1; private int j=10; private int k=20; public static void outer_f1(){ //do more something } public…
java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类.内部类又分为:常规内部类.局部内部类.匿名内部类和静态嵌套类四种.我们内部类的知识在Android手机开发中经常用到. 一.常规内部类 所谓常规内部类,或者说内部类,指的就是除去后面三种之外的内部类(这算什么解释...) 先写一个最简单的内部类的例子,大家感觉一下: view sourceprint?1 public class Outer { 2     public class Inner{ 3     } 4 } 编译一下…
本人能力.精力有限,所言所感都基于自身的实践和有限的阅读.查阅,如有错误,欢迎拍砖,敬请赐教——博客园:钱智慧. 先上代码: class Outer { public: Outer(){m_outerInt=;} private: int m_outerInt; public: //内部类定义开始 class Inner { public: Inner(){m_innerInt=;} private: int m_innerInt; public: void DisplayIn(){cout<<…
什么是面向对象内部类呢?所谓的内部类,即从字面意义上来理解的话,就是把类放到类当中. 那么内部类都有什么特点呢? 1.内部类可以访问包裹他的类的成员. 2.如果包裹他的类想访问被其包裹的类的话就得实例化,才可以访问. 代码示例: class Outer { ; void show() { System.out.println("Outer Show method!!"); } void method() { Inner a = new Inner(); a.innerShow(); }…
[转]http://baike.baidu.com/link?url=Md223wQoT5s-3cZ5xRnj1pGmvm310DKAuh-HDrcEdc2l24rwobHrdEc_Mi4Z3BGP0jxRqTCBQkRXJoGtuWNS7_ [转载]http://www.cnblogs.com/qzhforthelife/archive/2013/07/31/3226885.html  1.1嵌套类的定义 在一个类体中定义的类叫作嵌套类.拥有嵌套类的类叫外围类. 1.2嵌套类的作用 定义嵌套类…
示例1: package com.swust.面向对象; class Person1{ private String username="zhangsan"; public Person1(){ System.out.println("Person created......"); } public String name =""; class Student{ public Student(){ System.out.println("…
最近学了java,对内部类有一点拙见,现在分享一下 所谓内部类(nested classes),即:面向对象程序设计中,可以在一个类的内部定义另一个类. 内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动) 显然,此处不能单方面用属性或者方法表示一个心脏,而需要一个类 而心脏又在人体当中,正如同是内部类在外部内当中 java代码: //外部类 class O…
上一篇我们学习了接口还有访问控制,在以后的工作中接口是我们经常要碰到的,所以一定要多去回顾.接下来介绍一下内部类.很多时候我们创建类的对象的时候并不需要使用很多次,每次只使用一次 这个时候我们就可以使用内部类了. 一.内部类概述 内部类就是在一个类的内部在定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了. 内部类不是在一个java源文件中编写俩个平行的俩个类,而是在一个类的内部再定义另外一个类. 我们可以把外边的类称为外部类,在其内部编写的类…
内部类: 1.内部类的第一个好处,隐藏你不想让别人知道的操作,也即封装性. 2.非静态内部类对象有着指向其外部类对象的引用 等等. 创建项目: 1.File---->New----->java  Project 2.src右键添加 New---->Package(添加一个包,命名为“成员内部类”) 3.包右键添加New----->class/interface 注: 有main(String[] agre)函数的就是运行文件,如果要作为一般类使用,将注释及main(String[]…
在Javac中解语法糖主要是Lower类来完成,调用这个类的入口函数translateTopLevelClass即可.这个方法只是JavacCompiler类的desugar方法中进行了调用. 首先来看下local class本地类解语法糖,举个例子,如下: class Outer { class AOuter{ int temp = 0; } final int count1 = new Integer(1); final int count2 = 1; static final int co…
内部类: 将一个类定义在另一个类的里面,对里面那个类就称为内部类. class Outer { private int num = 3; class Inner //它想访问Outer中的num, 如果在外面就需要创建一个对象,然后通过公开的接口访问,但是现在Outer内部, 就可以直接访问了.这样方便 { void show() { System.out.println("show run..." + num); } } //如果现在想访问Inner就需要这样 public void…
转载于:http://www.cnblogs.com/qzhforthelife/p/3226885.html 先上代码: class Outer { public: Outer(){m_outerInt=;} private: int m_outerInt; public: //内部类定义开始 class Inner { public: Inner(){m_innerInt=;} private: int m_innerInt; public: void DisplayIn(){cout<<…
概述 内部类修饰符 内部类的细节 局部内部类 匿名内部类及其应用 匿名内部类细节 内部类概述 将一个类定义在另一个类的里面, 里面的那个类就称为内部类(内置类, 嵌套类). class Outer { class Inner // 内部类 { } } class InnerClassDemo { public static void main(String[] args) { } } // 上述代码编译完成后, 生成 3 个字节码文件, // 分别是: InnerClassDemo.class,…
一.基础概念 1.内部类是定义在类中的类.A类需要直接访问B类中的成员时,可以将A类定义到B类中,作为B类的内部类存在. 2.内部类可以相当于外部类中的一个成员,可以被成员修饰符所修饰.(如:public private static) 3.静态内部类可以相当于一个外部类进行使用. 4.非静态的内部类只允许定义静态的常量,不能定义其他静态成员. 5.访问规则: 内部类可以直接访问外部类中的成员,因为内部类持有了外部类的引用.外部类名.this 外部类要访问内部类需要创建内部类的对象. 二.实例代…
个人通俗理解: 1.内部类:有点类似于写在父类中的子类,根据位置不一样为不同的名字,和相应的访问方式不同:不过要访问外部类的话,需要充分运用好this(本类)的这个关键字:要是需要快速的创建子类对象的话,可以用到匿名内部类. 2.包:其实就是个放类的文件夹,当需要用的别的包里的类的时候,则需要导包.不过存在四种不同的修饰符,则对应四种访问权限(default只是理论上的,实际上是不需要写的,直接默认了) 3.代码块:按优先级的话,静态代码块的肯定在第一次使用的时候就执行这唯一的一次了,一般都是用…
在Android中,使用内部类能够在当前类里面发用改监听器类,由于监听器类是外部类的内部类.所以能够自由訪问外部类的全部界面组件. 下面是一个调用系统内部类实现短信发送的一个样例: SMS类: package com.example.msmlistener; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.telephony.S…
1. 内部类的概念 如果一个类定义在另一个类的内部,这个内部类就叫做内部类.注意此时这个内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去调用内部类.外部类对内部类没有任何优越的访问权限. 即说:内部类就是外部类的友元类.注意友元类的定义,内部类可以通过外部类的对象参数来访问外部类中的所有成员.但是外部类不是内部类的友元. 2. 内部类可以定义在外部类的public.protected.private都是可以的. 如果内部类定义在public,则可通过 外部类名::内部类名 来定义内…
内部类:如果A类需要直接访问B类中的成员,而B类又需要建立A类的对象.这时,为了方便设计和访问,直接将A类定义在B类中.就可以了.A类就称为内部类.内部类可以直接访问外部类中的成员.而外部类想要访问内部类,必须要建立内部类的对象. ----------------------------------------------------- class Outer{ int num = 4; class  Inner { void show(){ System.out.println("inner…
1.内部类的分类 2.成员内部类的定义格式 3.一旦使用了内部类,那么生成的class文件长啥样? 其中Body是外部类,Heart是Body的内部类,所以中间有个美元符号$,所以给类进行命名时,不要使用美元符号,免得别人以为是内部类. 4.如何使用成员内部类? 公式简称为   外点内 公式举例: 5.如何调用各个层级的变量?见下方例子 6.小结一下各种类的修饰符 第21行写,局部内部类的修饰符是什么都不写,所以在26行,Inner类没有修饰符. 第19行写着,外部类的修饰符只能是public或…
内部类概述 把类定义在其他类的内部就称为内部类 class A{ class B{ } } B就称为内部类,A称为外部类. 内部类的访问特点 内部类直接访问外部类成员,包括私有. 外部类要访问内部类要创建对象. 内部类可用static修饰,它可以看作外部类的成员. 内部类的位置 成员位置:在成员位置定义的类,称为成员内部类. 局部位置:在局部位置定义的类,称为局部内部类. class Outer{ private int num = 10; //成员内部类 class Inner1{ } pub…
今天温习一下 Java 中的内部类,内部类一般有如下几种:静态内部类.成员内部类.匿名内部类和方法内部类,下文中将主要介绍静态内部类和成员内部类,主要内容如下: 概述 静态内部类 成员内部类 匿名内部类和方法内部类 总结 概述 顾名思义内部类就是在一个类内部定义的类,它是内部类是一个独立的类,编译之后会生成独立的 .class 文件,其名称前面会有外部类的类名称以及 $ 符号,内部类同样可以使用 private .default.protected.public 修饰,下面是内部类的写法,具体参…
现在是够懒得了,放假的时候就想把这篇笔记写出来,一直拖到现在,最近在读<Java编程思想>,我想会做不止这一篇笔记,因为之前面试的时候总会问道一些内部类的问题,那这本书的笔记就从内部类开始说起. 一.为什么需要内部类 1.一个内部类的对象可以访问它的外围类的私有数据. 2.对于同一个包中的其他类来说,内部类能够隐藏起来. 3.使用内部类实现多重继承. 二.内部类重要提要 1.在方法内部或者方法内部的作用域的内部类 eg:方法内部的内部类 public interface InnerInterf…
例1: class Outer { public void md1(final int a) { final int b = 1; class LocalA { int c = a; } class LocalB extends LocalA { LocalB() { super(); } } } } 解语法糖后的形式如下: class Outer { public void md1(final int a) { final int b = 1; } } class Outer$1LocalA…