手机免费建站工具怎么建设英文网站
web/
2025/10/8 13:02:10/
文章来源:
手机免费建站工具,怎么建设英文网站,房地产销售工作内容,岳阳网站建设制作内部类
1. 认识内部类
它是类中的五大成分之一#xff08;成员变量、方法、构造器、内部类、代码块#xff09;如果一个类定义在另一个类的内部#xff0c;这个类就是内部类。
public class Test {public static void main(String[] args) {// 直接输出: 内部类的静态成员…内部类
1. 认识内部类
它是类中的五大成分之一成员变量、方法、构造器、内部类、代码块如果一个类定义在另一个类的内部这个类就是内部类。
public class Test {public static void main(String[] args) {// 直接输出: 内部类的静态成员变量System.out.println(Outer.Inner.gender); // null// 创建内部类的对象并调用功能Outer.Inner obj new Outer().new Inner();// 调用内部类自己的方法obj.run(); // 快跑啊~~~obj.test(); // 1、10、100}
}class Outer {// 成员变量private int number 100;public static String info;// 成员方法public void run() {System.out.println(跑);}public int getNumber() {return number;}public void setNumber(int number) {this.number number;}// 成员内部类public class Inner {// 成员变量private int number 10;public static String gender; // JDK 16才开始支持定义静态成员// 成员方法public void run() {System.out.println(快跑啊~~~);}public void test() {int number 1;System.out.println(number);// 调用内部类的成员System.out.println(this.number);// 调用外部类的成员System.out.println(Outer.this.number); // 通过Outer.this拿到当前的外部对象}public int getNumber() {return number;}public void setNumber(int number) {this.number number;}}
}2. 静态内部类 (了解)
有 static 修饰的内部类就是静态内部类静态内部类可以直接访问外部类的静态成员但是不能直接访问外部类的实例成员
public class Test {public static void main(String[] args) {// 创建静态内部类的对象Outer.Inner obj new Outer.Inner();obj.test(); // null}
}class Outer {private int age;public static String schoolId;public int getAge() {return age;}public void setAge(int age) {this.age age;}// 静态内部类public static class Inner {private String name;public static int id;public void test() {System.out.println(schoolId); // 可以直接访问外部类的静态成员变量
// System.out.println(age); // 报错不可以可以直接访问外部类的成员变量(对象的变量)// 因为这是静态内部类如图静态方法一样不能访问对象的变量}public String getName() {return name;}public void setName(String name) {this.name name;}}
}3. 局部内部类
局部内部类是定义在方法中代码块中构造器等执行体中这个语法没啥用看看就好
public class Test {// main方法程序入口public static void main(String[] args) {}// run方法public static void run() {class A {}abstract class B {}interface C {}}
}4. 匿名内部类 概念它是一种特殊的局部内部类所谓匿名指的是程序员不需要为这个类声明名字。 代码展示
要求在代码二中使用匿名内部类的知识实现代码一的功能
// 代码一
public class Test {public static void main(String[] args) {Animal obj new Cat();obj.cry();}
}class Cat extends Animal {Overridepublic void cry() {System.out.println(喵喵喵~~~);}
}abstract class Animal {public abstract void cry();
}// 代码二
public class Test {public static void main(String[] args) {// 计算机遇到代码 new Animal(){...}; 会做两件事// 1.把这个匿名内部类编译成一个子类// 2.然后会立即创建一个子类对象出来Animal obj new Animal() {Overridepublic void cry() {System.out.println(喵喵喵~~~);}}; // 千万要注意这里不要漏了分号;obj.cry(); // 喵喵喵~~~}
}abstract class Animal {public abstract void cry();
}通过上面的演示你应该很清楚的了解到匿名内部类的特点它的本质就是一个子类并且会立刻创建出一个子类对象然后返回出来。应用场景使用它可以更方便的创建一个子类返回出来的对象则通常作为参数进行使用。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89062.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!