java基础之 内部类】的更多相关文章

Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类local inner class 匿名内部类anonymous inner class 静态内部类Static Inner Class 最简单的内部类形式. 类定义时加上static关键字. 不能和外部类有相同的名字. 被编译成一个完全独立的.class文件,名称为OuterClass$InnerClas…
java中的内部类总结 内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动) 显然,此处不能单方面用属性或者方法表示一个心脏,而需要一个类 而心脏又在人体当中,正如同是内部类在外部内当中 实例1:内部类的基本结构(常规内部类) //外部类 class Out { private int age = 12; //内部类 class In { public vo…
内部类简单来说就是把一个类的定义放到另一个类的定义内部 内部类分为:成员内部类.局部内部类.匿名内部类.静态内部类 成员内部类:最常见的内部类 public class Outter { private int i = 0; public static String name = "sam"; public Outter(int i) { this.i = i; } class Inner{ public Inner() { System.out.println("Inner…
参考文档: 内部类的应用场景 http://blog.csdn.net/hivon/article/details/606312 http://wwty.iteye.com/blog/338628 定义: java允许在一个类中定义另外一个类,这就叫类嵌套.类嵌套分为两种,静态的称为静态嵌套类,非静态的又称为内部类 ps:lz一直以为内部类有四种,包括静态内部类.其实是错误的.内部类只有三种,均是非静态的 使用嵌套类的优点: 能够将仅在一个地方使用的类合理地组合.如果一个类可能只对于另外一个类有…
今天来复习下内部类的一些基础知识. 首先是内部类的分类: 1.成员内部类 2.静态内部类 3.匿名内部类 4.局部内部类 下面逐一来介绍下. 首先是成员内部类,就是将内部类作为一个成员变量来处理.具体例子如下: public class ChengYuanInnerClass { private int num=3; class InnerClass{ private int num=4; public void test(){ int num =5; System.out.println("t…
1.成员内部类(声明在类内部&&方法之外) class Person{ String name = "韩梅梅"; int age; class Bird{ String name = "黄鹂"; int id; void setName(String name){ System.out.println(name);//方法传入的name-杜鹃 System.out.println(this.name);//Bird对象的name-黄鹂 System.…
一.什么是内部类? 内部类(inner class)是定义在另一个类中的类 为什么使用内部类? 1)内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据 2)内部类可以对同一个包中的其他类隐藏起来 3)当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷 二.内部类有几种? 内部类分为:成员内部类.局部内部类.静态内部类.匿名内部类 2.1.成员内部类 成员内部类是最普通的内部类,我们先从它开始说起: package com.my.po; /** * description…
/*内部类是一个编译时的概念,*/ 常规内部类.静态内部类.局部内部类.匿名内部类 1.常规内部类(常规内部类没有static修饰且定义在外部类类体中) 1.常规内部类中的方法可以直接使用外部类的实例对象和实例方法 2.在常规内部类中可以直接用内部类创建对象 2.静态内部类(与类的其他成员相似,可以用static修饰内部类,这样的类称为静态内部类.) 1.静态内部类与静态内部方法相似,只能访问外部类的static成员,不能直接访问外部类的实例变量,与实例方法,只有通过对象引用才能访问 2.由于s…
内部类 内部类(inner class)是定义在另一个类中的类 内部类的好处: |--1.隐藏机制:内部类封装性更好,隐藏在一个类之中,同一包中的其他类也不能访问 |--2.内部类可以访问外围类的私有数据 成员内部类 member inner class 可以访问外部类的所有成员变量和方法(无论静态.非静态) 自身没有静态成员 |--外部类里面创建成员内部类的实例:this.new Innerclass(); |--在外部类之外创建内部类的实例:new Outerclass().new Inne…
内部类lambda重点摘要 内部类特点: 内部类可以直接访问外部类,包括私有 外部类访问内部类必须创建对象 创建内部对象格式: 外部类.内部类 对象名=new外部类().new内部类(); 静态内部类访问: 外部类.内部类.方法名 局部内部类: 局部内部类在方法中定义的类,外届无法直接使用,需要在方法内部创建对象并使用,该类可以直接访问外部类成员,也可以访问方法类的局部变量 私有成员内部类访问需在自己外部类中创建对象 匿名内部类: 前提: 需要一个类或者接口 格式: new 类名/接口名(){重…
From: http://www.itzhai.com/java-based-notebook-a-static-inner-class-within-a-class-member-within-the-class-of-local-inner-classes-anonymous-inner-classes.html 内部类: 使用内部类减少了命名冲突. 一个内部类可以定义在一个类中,一个方法中甚至一个表达式中.内部类分为四种:静态内部类(static inner classes)成员内部类(m…
内部类: 1.定义在一个类中的内部类,内部类的实例化伴随着外围类所定义的方法来构造,内部类对象有外围类的隐式引用,所以内部类可以直接访问外围类的外围类的域,包括私有的,这是内部类的访问特权,所以比常规类功能更加强大. 2.内部类可以对同一个包中的其他类隐藏起来,不过可以通过 OuterClass.InnerClass来引用public声明的内部类. 局部内部类: 1.内部类挪到方法内部,与内部类相比,局部内部类不仅可以访问定义他们的外部类,还可以并且仅可以访问声明为final的局部变量. 2.类…
内部类创建 从外部类的非静态方法之外(?=静态方法)的任意位置创建某个内部类的对象,要加入外部类的名字,OuterClassName.InnerClassName public class Parcel2 { class Contents { private int i = 11; public int value() { return i; } } class Destination { private String label; Destination(String whereTo) { l…
一.内部类 1.1.1.成员内部类 一个类定义在另一个类的内部,那么该类就叫作成员内部类 1.1.2.成员内部类访问方式 方式一:在外部类中提供一个方法创建内部类的对象进行访问       方式二:在其他类中创建内部类的对象:   格式:外部类.内部类 变量名=new 外部类().new 内部类(); 注意:如果是一个静态的内部类,那么其他内的创建的格式                  外部类.内部类 变量名 = new 外部类.内部类(); 方式一: /* 方式一 */ //外部类 int…
/*内部类: 成员内部类 局部内部类 匿名内部类*/ package insideclass; /*成员内部类: * 在类的成员位置,和成员变量,成员方法的位置是一样的. * 内部类可以直接访问为外部类的成员,包括私有的 * 调用: * 外部类.内部类 对象名=外部类对象.内部类对象 * (想要创建内部的类对象,必须创建外部类的对象,然后外部类的对象去调用内部类去创建内部类对象) */ class outer{ private int num=10; class inner{ public vo…
成员内部类 public class InnerClass { public static void main(String[] args) { System.out.println("+++++++++++++++++++++++"); Outer.Inner oi = new Outer().new Inner(); oi.methodInner(); } } public class Outer { int num = 10; public class Inner{ int nu…
非静态内部类不能拥有静态变量 为什么 下面这段代码,如果Lazyholder没有static修饰,则编译不过 class Singleton2 { private static class LazyHolder { private static Singleton2 singleton; } public Singleton2 getInstance() { return LazyHolder.singleton; } } "非静态内部类不能拥有静态变量" ,可以这样理解,因为JVM类…
lambda与stream是java8中比较重要两个新特性,lambda表达式采用一种简洁的语法定义代码块,允许我们将行为传递到函数中.之前我们想将行为传递到函数中,仅有的选择是使用匿名内部类,现在我们可以使用lambda表达式替代匿名内部类.在学习lambda表达式之前,建议各位看官先去学习一下匿名内部类(JAVA基础知识|内部类). stream提供了很多有用的api,方便了我们对集合的操作 一.lambda表达式 基本语法:(parameters) -> expression或(param…
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就总结了一下关于四大内部类的知识. 备注: java语言中允许类中再次定义类,这种在其它类内部定义的类叫内部类,内部类分为四种:常规内部类(成员内部类),局部内部类(方法内部类),匿名内部类,静态嵌套内部类 一.常规内部类 其实常规的内部类就是第一种(成员内部类) 当然 成员内部类由于高内聚,不对外开…
内部类 // 外部类 class Demo{ private int num = 3; // 定义内部类 class Int{ void show(){ System.out.println("num="+num); } } void method(){ Int int = new Int(); int.show(); } } class Inner{ public static void main(Stirng[] args){ Demo demo = new Demo(); dem…
内部类的分类:常规内部类.静态内部类.私有内部类.局部内部类.匿名内部类. 实例1:常规内部类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 //外部类 class Out {     private int age = 12;           //内部类     class In {         public void print() {             System.out.println(age…
Java 基础 内部类 内部类(嵌套类) nested class 目的为外围类enclosing class提供服务. 四种: 静态成员类 static member class 非静态成员类 nonstatic member class 匿名类 anonymous class 局部类 local class 以下来自effective java 22 非静态成员类的每个实例 都隐含着与外围类的 一个外围实例enclosing instance 相关联. 在非静态成员类的实例方法内部,可以调用…
1.内部类的概念 内部类顾名思义:将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.对于很多Java初学者来说,内部类学起来真的是一头雾水,根本理解不清楚是个什么东西,包括我自己(我太菜了!哈哈),所以接下来我要好好地来研究一下. 我们来看下内部类的定义格式: public class OuterClass { //code class InnerClass{ //code } } 这里的InnerClass就是一个内部类.无论在我们的学习中还是工作中,内部类用到的地方真的不是很多…
Java基础教程:内部类 内部类 内部类,是指在一个类的内部定义的类.就像下面这样: public class EnclosingClass {   . . .   public class NestedClass {   . . .     } } 内部类拥有访问外部类所有元素(包括private.static)的访问权.当某个外部类的对象创建了一个内部类对象时,此内部类对象必定会秘密地捕获一个指向那个外围类对象的引用.然后,在你访问此外围类的成员时,就是用那个引用来选择外围类的成员. 内部类…
前言 整理了一下内部类的相关知识,算是比较全,比较基础的,希望大家一起学习进步. 一.什么是内部类? 在Java中,可以将一个类的定义放在另外一个类的定义内部,这就是内部类.内部类本身就是类的一个属性,与其他属性 定义方式一致. 一个内部类的例子: public class Outer { private int radius = 1; public static int count = 2; public Outer() { } class inner{ public void visitOu…
1.   在Java程序语言中,接口是对类的一种描述.例如Arrays类中sort方法声明可以对对象进行排序,但前提是对象所属的类必须实现Comparable接口. public interface Comparable<T> { int compareTo(T other); } public interface Comparable{ int compareTo(Object obj); }   接口中的所有方法自动地属于public,不必提供关键字.接口可以定义常量,但不能有自己的实例域…
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.广泛意义上的内部类一般来说包括这四种:成员内部类.局部内部类.匿名内部类和静态内部类. 下面就先来了解一下这四种内部类的用法. 1.成员内部类 成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式: class Circle { double radius = 0; public Circle(double radius) { this.radius = radius; } class Draw…
本文内容分转自博客:http://www.cnblogs.com/mengdd/archive/2013/02/08/2909307.html 将相关的类组织在一起,从而降低了命名空间的混乱. 一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分. Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类local inner cla…
JAVA内部类详解 在我的另一篇java三大特性的封装中讲到java内部类的简单概要,这里将详细深入了解java内部类的使用和应用. 我们知道内部类可分为以下几种: 成员内部类 静态内部类 方法内部类 匿名内部类 这里我们先将以这个分类来详细了解各个内部类的情况.然后给内部类作出总结. 一.成员内部类 内部类中最常见的就是成员内部类,也称为普通内部类.我们来看如下代码: 运行结果为: 从上面的代码中我们可以看到,成员内部类的使用方法: 1. Inner 类定义在 Outer 类的内部,相当于 O…
内部类:如果A类需要直接访问B类中的成员,而B类又需要建立A类的对象.这时,为了方便设计和访问,直接将A类定义在B类中.就可以了.A类就称为内部类.内部类可以直接访问外部类中的成员.而外部类想要访问内部类,必须要建立内部类的对象. 当内部类定义在外部类中的成员位置上,可以使用一些成员修饰符修饰 private.static. 1:默认修饰符. 直接访问内部类格式:外部类名.内部类名 变量名 = 外部类对象.内部类对象; Outer.Inner in = new Outer.new Inner()…