Java 静态成员类 非静态的成员类 局部类 匿名类
Posted 11biscuits
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 静态成员类 非静态的成员类 局部类 匿名类相关的知识,希望对你有一定的参考价值。
//*静态 *非静态的成员类 *局部类 *匿名类
public class Main{
public static void main(String[]argv){
//位于包的内部的类我们称之为顶级类
//类里面还可以嵌套类
//嵌套类可以分为四种
//*静态 *非静态的成员类 *局部类 *匿名类
//#静态成员类
//静态成员类需要定义在一个类里面,当类的属性用基础数据类型描述时
//过于复杂,则可以使用静态成员类
Person person=new Person();
person.show();
showHello();
noname();
}
//静态成员类
//仍然遵循public private protected访问准则
//如果写为public,则在Main类外也可以访问 类型名称为 Main.Perosn girl=new Main.Person();
private static class Person{
public void show(){
System.out.print("hello world\\n");
}
}
//非静态成员类
//与静态成员类的写法只是相差个static,但二者差别巨大
public class Girl{
private void show(){
System.out.print("i am girl\\n");
}
}
//如果在Main外面想定义Girl对象,则需要现构造一个Main对象,而静态成员类不用
/*
*var obj=new Main();
*var girl=new Main.Girl();
*girl.show();
* */
//局部类
//在构造函数,初始化代码块内部被声明,只能在相应的代码块使用
//局部类也可以访问外部类的变量,但变量必须是final的
public static void showHello(){
class GirlF{
GirlF(String name){
this.name=name;
}
public String name;
public void showName(){
System.out.println(this.name);
}
}
GirlF per=new GirlF("gao");
per.showName();
}
//匿名类
public static void noname(){
var obj=new Tensor(){
@Override
public double getNum(){
return 99;
}
};
System.out.println(obj.getNum());
}
//类的内部,枚举,接口也可以嵌套
//避免使用,很头大
}
以上是关于Java 静态成员类 非静态的成员类 局部类 匿名类的主要内容,如果未能解决你的问题,请参考以下文章
Java语言中四种内部类(成员内部类,局部内部类,静态内部类,匿名内部类)在实际使用中有啥好处?
Java学习(十六)成员内部类,静态内部类,匿名内部类,局部内部类