1.局部变量的作用域
局部变量定义只能按照由内到外的先后顺序进行
2.内部类中的方法
3.静态内部类中的方法
4.方法内部类
1.局部变量的作用域
局部变量定义只能按照由内到外的先后顺序进行
`public class HelloWorld {
static int a = 10, b = 20, c = 30;
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 100;
{
{
int b = 200;
System.out.print("a="+a);
System.out.println("\tb="+b);//本作用域的b = 200
}
int b = 2000;
System.out.print("a="+a);
System.out.println("\tb="+b);//本作用域的b = 2000
}
int b = 20000;
System.out.print("a="+a);
System.out.println("\tb="+b);//本作用域的b = 20000
//注:局部变量定义只能按照由内到外的先后顺序进行
System.out.print("HelloWorld.a="+HelloWorld.a);//通过类名调用数据成员
System.out.println("\tHelloWorld.b="+HelloWorld.b);
System.out.println("c="+c);
}
}`
2.内部类中的方法
在这//外部类HelloWorld
public class HelloWord{
//外部类的私有属性name
private String name = "imooc";
//外部类的成员属性
int age = 20;
//成员内部类Inner
public class Inner {
String name = "爱慕课";//注意
//内部类中的方法
public void show() {
System.out.println("外部类中的name:" + HelloWord.this.name);
System.out.println("内部类中的name:" + name ); // 同14行
System.out.println("外部类中的age:" + age);
}
}
//测试成员内部类
public static void main(String[] args) {
//创建外部类的对象
HelloWord o = new HelloWord();
//创建内部类的对象
Inner inn = o.new Inner(); ;
//调用内部类对象的show方法
inn.show();
}
}里插入代码片
3.静态内部类中的方法
//外部类
public class HelloWorld {
// 外部类中的静态变量score
private static int score = 84;
// 创建静态内部类
public static class SInner {
// 内部类中的变量score
int score = 91;
public void show() {
System.out.println("访问外部类中的score:" + HelloWorld.score );
System.out.println("访问内部类中的score:" + score);
}
}
// 测试静态内部类
public static void main(String[] args) {
// 直接创建内部类的对象
SInner si = new SInner();
// 调用show方法
si.show();
}
}
这里插入代码片
4.方法内部类
在这//外部类
public class HelloWorld {
private String name = "爱慕课";
// 外部类中的show方法
public void show() {
// 定义方法内部类
class MInner {
int score = 83;
public int getScore() {
return score + 10;
}
}
// 创建方法内部类的对象
MInner in = new MInner();
// 调用内部类的方法
int newScore = in.getScore();
System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore);
}
// 测试方法内部类
public static void main(String[] args) {
// 创建外部类的对象
HelloWorld mo = new HelloWorld();
// 调用外部类的方法
mo.show();
}
}里插入代码片