目录

Java中类与静态类的区别是什么

定义在⼀个类内部的类叫内部类,包含内部类的类称为外部类。外部类按常规的类访问⽅式使⽤内部类,唯⼀的差别是外部类可以访问内部类的所有⽅法与属性,包括私有⽅法与属性。

一、Java中类的分类

定义在⼀个类内部的类叫内部类,包含内部类的类称为外部类。

内部类可以声明public、protected、 private等访问限制,可以声明为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final 的,也可以实现特定的接⼝。

外部类按常规的类访问⽅式使⽤内部类,唯⼀的差别是外部类可以访问内部类的所有⽅法与属性,包括私有⽅法与属性。

二、内部类与静态类的区别

1,静态内部类可以有静态成员(⽅法,属性),⽽⾮静态内部类则不能有静态成员(⽅法,属性)。

2,静态内部类只能够访问外部类的静态成员,⽽⾮静态内部类则可以访问外部类的所有成员(⽅法,属性)。

3,实例化⼀个⾮静态的内部类的⽅法:

a.先⽣成⼀个外部类对象实例 OutClassTest oc1 = new OutClassTest(); b.通过外部类的对象实例⽣成内部类对象 OutClassTest.InnerClass no_static_inner = oc1.new InnerClass();

4,实例化⼀个静态内部类的⽅法:

a.不依赖于外部类的实例,直接实例化内部类对象 OutClassTest.InnerStaticClass inner = new OutClassTest.InnerStaticClass();

b.调⽤内部静态类的⽅法或静态变量,通过类名直接调⽤ OutClassTest.InnerStaticClass.static_value OutClassTest.InnerStaticClass.getMessage()

以上就是关于Java中类与静态类的知识希望对大家有帮助。