目录内部类概述作用分类静态内部类成员内部类静态内部类和成员内部类的区别局部内部类匿名内部类(重点)最后 内部类概述在Java中,允许一个类定义在另一个类的内部,前者称为内部类(寄生类),后者称为外部类(宿主类)作用内部类提供了更好的封装性内部类可以用private protected等修饰,可以有更安全的权限控制。分类内部类分为:静态内部类(static修饰)成员内部类(无static修饰)局部
一般而言,内部类与包含它的外部类有比较密切的关系,而与其他类关系不大,定义在类的内部,可以实现对外部的完全隐藏,可以有更好的封装性,代码也表现的更为简洁。不过内部类只是java编译器的概念,对于java虚拟机而言,不知道内部类这么一回事,每个内部类最后都会被编译成一个独立的类,生成一个独立得字节码文件。内部类的分类:(1)静态内部类(2)成员内部类(3)方法内部类(4)匿名内部类静态内部类静态
区别1: 普通内部类实例化后的对象持有外部类的引用,在非静态内部可以访问外部类的成员;静态内部类实例化不持有外部对象引用,不能访问外面的方法和成员; 从耦合度上来讲,普通内部类跟外部类耦合程度很高,静态内部类跟外部类耦合程度很低; 区别2: 外部类静态方法中,无法创建普通内部类对象,可以创建静态
原创 2021-09-14 11:31:27
263阅读
内部类:    在一个类里面包含另外一个类.外边的类就是外部类,被包含在里边的就是内部类.作用:内部类提供了更好的封装,将内部类隐藏在外部类中.不允许同一个包中的其他类访问.内部类的方法可访问外部类的所有成员变量(包含private的).若内部类为static,则只能访问外部类静态成员变量.若访问非static成员变量,则会报如下错误:Error: Cannot make a
Java内部类静态内部类    定义在一个类内部的类叫内部类,包含内部类的类称为外部类内部类可以声明public、protected、private等访问限制,可以声明为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final的,也可以实现特定的接口。外部类按常规的类访问方式使用内部类,唯一的差别是外部类可以访问内部类的所有方法与属性,
定义在一个类内部的类叫内部类,包含内部类的类称为外部类内部类可以声明public、protected、private等访问限制,可以声明 为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final的,也可以实现特定的接口。外部类按常规的类访问方式使用内部 类,唯一的差别
转载 2019-07-22 10:19:00
119阅读
2评论
1 相同点 使用的时候,import的时候,除了包名,还要带外部类。 2 不同点 2.1 对象创建的方式不同 静态内部类创建对象的时候,独立于外部类及其对象,就好像它是一个独立的类,可以和外部类一样使用。 内部类创建对象的时候,不能独立于外部类,必须要先创建外部类的对象,然后再用这个对象来new出内
转载 2018-04-20 23:08:00
229阅读
2评论
Static Inner ClassesConsider the following Java code fragment: public class A { int y; public static class B { int x; void f () {} } } This fragment defines the class 
成员内部类静态内部类、局部内部类和匿名内部类。成员内部类和静态内部类可以类比。相同点:成员内部类和静态内部类都是定义在一个类中,并且与该类的成员变量是同一级别的内部类。不同点:1)成员内部类是非静态类,而静态内部类静态类。2)在Outer类内部的方法中调用时,成员内部类必须生成对象才能调用其中的方法,而静态内部类则可以直接通过‘类名.方法名’的方式调用。3)在Outer类外部进行调用时,成员内
java中的内部类有四种:1.静态内部类:作为类的静态成员,存在于某个类的内部静态内部类虽然是外部类的成员,但是在未创建外部类的对象的情况下,可以直接创建静态内部类的对象。静态内部类可以引用外部类静态成员变量和静态方法,但不能引用外部类的普通成员。//静态内部类的测试程序 public class Outter { static int a=1; int b=5; static void te
                成为一名合格的工程师需要一年到三年,现在遇到困难的,觉得不会的不要慌,学习是积累的,有一定步骤的。内部类内部类的定义将一个类定义在另一个给类里面或者方法里面,这样的类就被称为内部类内部类可以分为四种:成员
转载 2023-06-15 19:43:10
243阅读
package com.leo.demo;/** * @author java */class OuterClass { int x = 10; class InnerClass { int y = 5; }}/** * @author java */public class MyMainClass { public static void main(String[] args) { OuterClass myOuter.
原创 2021-11-20 09:00:06
840阅读
package com.leo.demo;/** * @author java */class OuterClass { int x = 10; class InnerClass { int y = 5; }}/** * @author java */public class MyMainClass { public static void main(String[] args) { OuterClass myOuter.
原创 2021-11-20 09:00:06
1482阅读
Java编程中,内部类是将一个类定义在另一个类的内部,形成类的嵌套结构。内部类可以访问其所在外部类的成员,包括私有成员,并且可以对外部类对象拥有控制权,从而提供更加灵活和封装的设计方式。Java中主要有四种内部类:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类:成员内部类指的是定义在外部类的成员位置上的类,可以访问外部类的所有成员变量和方法,示例代码如下:public class O
可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类
原创 2022-04-02 15:35:46
975阅读
[静态内部类] 类声明中包含“static ”关键字的内部类。如以下示例代码: public   class  InnerClass  {    private static String nickName = "anan";&
关于内部类的部分内容,正在深入了解中。每天都在修改更新中。/** * 需要知道两个前提: * 1.成员内部类是外围类的一个成员,它两关系特别好,推心置腹,抵足而眠,都是最好的亲兄弟 * 所以访问权限什么的,根本不存在 * * 2.内部类对象依赖于外围类对象存在 * 思考: * a,在成员内部类的成员方法中,有没有外围类对象呢? 有 * * 成员内部类的成员方法必然是成员内部类的对象去调用的【理解】 * 既然都已经有成员内部类的对象了,【为什
原创 2022-01-05 11:15:14
706阅读
       使用static修饰的静态内部类属于外部类的一个静态成员,归类所有,不属于任何一个外部类对象,因此其不能访问外部类对象的成员和方法,但可以访问外部类静态成员和方法。       1.外部类中访问静态内部类和外部类访问普通内部类一样,需要先对内部类创建静态内部类对象
成员内部类 | 静态内部类 | 局部内部类 | 匿名内部类1、成员内部类可以访问外部类的私有成员或属性。当内部类
分享知识 传递快乐 Java中的内部类 例:public class 外部类的名称{ //外部类的成员 public class 内部类的名称{ //内部类的成员 }} 使用内部类有什么好处: 实现多重继承; 内部类可以很好的实现隐藏:一般的非内部类,是不允许有 private 与protected权限的,但内部类可以; 减少了类文件编译后的产生的字节
  • 1
  • 2
  • 3
  • 4
  • 5