【深耕静禅_Java_内部类_2020年4月6日17:26:02】教程文章相关的互联网学习教程文章

java的四种内部类(转)

一般来说,有4中内部类:常规内部类、静态内部类、局部内部类、匿名内部类。 一.常规内部类:常规内部类没有用static修饰且定义在在外部类类体中。 1.常规内部类中的方法可以直接使用外部类的实例变量和实例方法。 2.在常规内部类中可以直接用内部类创建对象 3.代码如下: public class MyOuter { private int x = 100; // 创建内部类 class MyInner { private String y = "Hello!"; public void innerMethod() { System.ou...

java#内部类和嵌套类【代码】

内容思路来自Java编程思想,个人读书做的笔记,仅个人复习之用,故他人参考请自行辨别内容是否有错误。 在类的类部可以定义类,叫做内部类。如果这个内部类被static修饰,此时内部的类叫做嵌套类。内部类用在哪里,解决了什么问题? 内部类中一定包含的有外部类的引用,即Outer.this,故,创建内部类,必须拥有外部类的实例。-public class Outer {private String foo = "kitty";class Inner{Outer getOuter(){// 在内部类中,可以...

java基础——N种内部类、无名初始化类、无名初始化接口【代码】

N种内部类定义:内部类就是一个类的内部再定义一个类,比如A类中定义了一个B类,那么B类相对A来说就是内部类来说就成为内部类。而A类相对于B类称为外部类成员内部类静态内部类局部内部类匿名内部类public class Outer {private int id = 99;public void out(){System.out.println("这是外部类的方法");}public class Inner{public void in(){System.out.println("这是内部类的方法");}public void getID(){//内部类可以直接操作私有...

Java中的内部类【代码】【图】

内部类Inner Class  将相关的类组织在一起,从而降低了命名空间的混乱。  一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分。Java中的内部类共分为四种:静态内部类static inner class (also called nested class)成员内部类member inner class局部内部类local inner class匿名内部类anonymous inner class 静态内部类Static Inner Class  最简单的内部类形式。  类定义时加上static关...

Java基础(十五):Java 中的内部类【代码】【图】

问:什么是内部类呢?答:内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。问:那为什么要将一个类定义在另一个类里面呢?清清爽爽的独立的一个类多好啊!!答:内部类的主要作用如下:1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据3. 内部类所实现的功能使用外部类同样...

深入理解Java:内部类【代码】【图】

什么是内部类?fdd内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类内部类的共性(1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号 。(2)、内部类...

Java内部类的一些总结【代码】

作为刚入门Java的小白,这两天看到内部类,这里做一个总结,若有错误,欢迎指正~内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。内部类分为: 成员内部类、局部内部类、静态嵌套类、匿名内部类 。1.成员内部类成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:class Outter {private int age = 12;class Inner {private int age = 13;public void print() {int age = 14;System.o...

“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?【图】

难度初级学习时间10分钟适合人群零基础开发语言Java开发环境JDK v11IntelliJ IDEA v2018.3文章原文链接“全栈2019”Java第一百零二章:哪些作用域可以声明局部内部类?下一章“全栈2019”Java第一百零三章:匿名内部类详解学习小组加入同步学习小组,共同交流与进步。方式一:关注头条号Gorhaf,私信“Java学习小组”。方式二:关注公众号Gorhaf,回复“Java学习小组”。全栈工程师学习计划关注我们,加入“全栈工程师学习计划”。...

java 内部类与外部类的区别

最近在看Java相关知识的时候发现Java中同时存在内部类以及非公有类概念,而且这两个类都可以不需要单独的文件编写,可以与其他类共用一个文件。现根据个人总结将两者的异同点总结如下,如有什么不当地方,欢迎大家指正。1、非公有类和内部类对应的文件名与这两种类的类名无关;2、一个源文件中可以包含多个非公有类或者内部类;3、非公有类不能使用public关键字(一般前面不加关键字),内部类可以使用public、private、protected关...

Java笔记(10):面向对象--内部类【代码】

1、类名作为形式参数 1/* 2 形式参数:3 基本类型4 引用类型5 类名:(匿名对象的时候其实我们已经讲过了) 需要的是该类的对象6 抽象类:7 接口8*/ 9class Student { 10publicvoid study() { 11 System.out.println("Good Good Study,Day Day Up"); 12 } 13} 1415class StudentDemo { 16publicvoid method(Student s) { //ss; ss = new Student(); Student s = new St...

Java中为什么main()中不能创建内部类对象?【代码】

对main方法而言,虽然写在类中,它是游离于任何类之外的,因此某类的非静态内部类对它而言是不直接可见的,也就无法直接访问 。1:非静态内部类,必须有一个外部类的引用才能创建。2:在外部类的非静态方法中,因为有隐含的外部类引用this,所以可以直接创建非静态内部类。3:在外部类的静态方法中,因为没有this,所以必须先获得外部类引用,然后创建非静态内部类。4:静态内部类,不需要外部类引用就可以直接创建。5:同时静态的...

深入理解Java:内部类【代码】

什么是内部类?内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类内部类的共性(1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号 。(2)、内部类不...

No2_5.类的高级特性_Java学习笔记_抽象类和成员内部类【代码】

一、抽象类1.所谓抽象类,只声明方法的存在而不去实现它的类;2.抽象类不能被实例化,即不能实现其对象;3.abstract class 类名{ 类体 }4.包含一个或多个抽象方法的类必须声明成抽象类;5.abstract <方法返回值类型> 方法名(参数列表)二、内部类1.如果在一个类中再定义一个类,就将在类中定义的那个类称为内部类;2.内部类分为成员内部类,局部内部类以及匿名内部类;3.成员内部类:   a.可以在内部类中直接存取其所在类的私有成...

[转] java中的匿名内部类总结

匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法12345678910111213141516abstractclassPerson { publicabstractvoideat();} classChild extendsPerson { publicvoideat() { System.out.println("eat something"); }} publicclassDemo { publicstat...

java为什么非静态内部类中不能有static修饰的属性,但却可以有常量?

如:public class InnerClassDemo{int x;class A{static int a = 0;//这样写是不合法的.static final int b=0;//这样写是合法的}} java类加载顺序,首先加载类,执行static变量初始化,接下来执行对象的创建,如果我们要执行代码中的变量int a 初始化,那么必须先执行加载外部类,再加载内部类,最后初始化静态变量 a ,问题就出在加载内部类上面,我们可以把内部类看成外部类的非静态成员,它的初始化必须在外部类对象创建后以后进...