//*静态 *非静态的成员类 *局部类 *匿名类
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 静态成员类 非静态的成员类 局部类 匿名类
最新推荐文章于 2024-04-19 20:37:03 发布
这篇博客详细介绍了Java中的四种嵌套类:静态成员类、非静态成员类、局部类和匿名类。通过实例展示了它们的使用方式和特点,包括静态成员类作为复杂数据类型的替代品,非静态成员类需要依赖外部类实例,局部类只能在特定代码块内使用,以及匿名类的简洁表示形式。同时,还提及了嵌套类在枚举和接口中的应用,强调了避免过度使用以保持代码清晰。
摘要由CSDN通过智能技术生成