「java静态外部类」java内部类和静态内部类区别

博主:adminadmin 2022-12-13 11:21:09 76

今天给各位分享java静态外部类的知识,其中也会对java内部类和静态内部类区别进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 静态类是什么意思 有什么特点

java没有直接的静态类这种东西,一个类可以为static的情况只是他作为另一个类的成员,static表明他可以不用建立实例被访问而已,这样的内部类完全没有内部类的特点

1 内部类可以访问所在外部类的成员变量和方法,而静态内部类却不能

2 内部类可以使用Outter.this作为外部类引用,但静态内部类不能使用

3 静态内部类就如同外部类的一个静态成员,他只能访问外部类的静态成员和静态方法

4 在外部类外必须使用Outter.Inner外部类名和内部类名都要使用,楼上所说的不需要建立对象, 指的是不需要建立外部类实例,

比如BigOuter.Nested n = New BigOuter.Nested();

java 外部类可以定义成静态类吗,如果可以,它会起到什么作用呢?

静态类只用于包含静态成员的类型,它既不能实例化,静态类的特性是防止继承,防止外部来NEW。它相当于一个sealed abstract类。

static class MyUtility

{

public const int data;

public static void Foo()

{

...

}

}

静态类的几个注意点

静态类不能有实例构造器。

静态类不能有任何实例成员。

静态类不能使用abstract或sealed修饰符。

静态类默认继承自System.Object根类,不能显式指定任何其他基类。

静态类不能指定任何接口实现。

静态类的成员不能有protected或protected internal访问保护修饰符。

java中静态类一定都是内部类么,能否直接将外部类声明为static的?

不行~外部类无法为static~否则你让外部类里面的静态方法或者属性情何以堪,他们可都是直接类名.名字的

java内部类可以访问外部类的静态方法吗

内部类

就相当于一个外部类的成员变量,所以可以直接访问

外部变量

,外部类不能直接访问内部类变量,必须通过创建内部类实例的方法访问,

new

InnerClass

(32).m就是创建内部类实例访问内部类成员变量。

你想不通的肯定是指内部类的私有变量怎么可以被外部类访问吧,按常规,私有变量m只能在InnerClass里被访问,

但你要注意,内部类就相当于一个外部类的成员变量,举个例子。

class

Outer{

private

int

m;

private

class

Inner{

private

int

n;

private

int

k;

}

}

m和类Inner都是成员变量,他们之间是平等的,唯一不同的就是Inner它是包装了几个成员变量比如n,k,也就是说m

n

k是平等的,区别在于访问n

k要通过Inner,就是要建立Inner实例访问nk,这样解释够明白了吧

java静态类和非静态类的区别

(1)内部静态类不需要有指向外部类的引用。但非静态内部类需要持有对外部类的引用。

(2)非静态内部类能够访问外部类的静态和非静态成员。静态类不能访问外部类的非静态成员。他只能访问外部类的静态成员。

(3)一个非静态内部类不能脱离外部类实体被创建,一个非静态内部类可以访问外部类的数据和方法,因为他就在外部类里面。

请问java中的内部类和外部类分别是什么意思?

外部类,内部类,匿名类,外部类就是两个类并列的class A {} class B {},内部类:class A { class B {}},B可以直接使用包涵它的类的成员变量,内部类不能被除包涵类以外的类调用;还有就是匿名类,也是内部类 classA{new {}}省略定义类名直接定义方法和使用,这个适用于代码比较简单且这个类不需要被其他类调用

java静态外部类的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java内部类和静态内部类区别、java静态外部类的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-13,除非注明,否则均为首码项目网原创文章,转载请注明出处。