🍬 博主介绍
👨🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
目录
静态内部类
代码
局部内部类
代码
静态内部类
- 静态内部类只能访问外部类中的静态变量和静态方法,如果想要访问非静态的需要创建对象。
- 静态内部类是一种特殊的成员内部类
- 直接创建静态内部类对象方式:outer.inner oi = new outer.inner();
public class Car {//外部类
string carname;
int carage;
int carcolor;
static class engine{//静态内部类
string enginename;
int engineage;
}
}
创建静态内部类对象的格式: 外部类名.内部类名 对象名=new 外部类名.内部类名();
调用非静态方法的格式: 先创建对象,用对象调用
调用静态方法的格式: 外部类名.内部类名.方法名();
代码
类:outer
package demon5;
public class outer {
int a = 10;
static int b = 20;
//静态内部类
static class inner{
public void show1(){
System.out.println("非静态的方法被调用");
}
public static void show2(){
System.out.println("静态的方法被调用了");
}
}
}
测试类:test
package demon5;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
//创建静态内部类的对象
//只要是静态的东西,都可以用类名点直接获取
outer.inner oi = new outer.inner();
oi.show1();
//静态方法调用
outer.inner.show2();
}
}
局部内部类
-
1.将内部类定义在方法里面就叫做局部内部类,类似于方法里面的局部变量。
-
2.外界是无法直接使用,需要在方法内部创建对象并使用。
-
3.该类可以直接访问外部类的成员,也可以访问方法内的局部变量。
代码
类:outer
package demon1;
public class outer {
int b = 20;
public void show(){
int a = 10;
//局部内部类
class inner{
String name = "zhangsan";
int age = 2;
public void method1(){
System.out.println(a);
System.out.println(b);
System.out.println("局部内部类中的method1方法");
}
public static void method2(){
System.out.println("局部内部类中的method2方法");
}
}
//创建局部内部类的对象
inner i = new inner();
i.method1();
inner.method2();
System.out.println(i.age);
System.out.println(i.name);
}
}
测试类:test
package demon1;
public class test {
//局部内部类
//将内部类定义在方法里面就叫做局部内部类,类似于方法里面的局部变量。
//外界是无法直接使用,需要在方法内部创建对象并使用。
//该类可以直接访问外部类的成员,也可以访问方法内的局部变量。
public static void main(String[] args) {
outer o = new outer();
o.show();
}
}