黑马程序员-----线程复习

本文详细解析了Android开发中内部类如何访问外部类变量的关键概念,包括属性访问和局部变量访问的注意事项,并通过代码示例展示了实际应用。重点突出了静态属性和final局部变量的使用场景。

 ---------------------- android培训java培训、期待与您交流! ------------------------

看完视频,感觉线程部分对于andriod的开发是很重要的,而第一遍的学习也是学的晕晕乎乎

于是,有时间就再次复习一下:

这次的收获是内部类如何访问外部类变量的问题:不管是访问外部类的属性,还是访问方法的局部变量

一定要牢记一点------先有外部类对象,然后才有内部类对象,创建内部类对象的语法是new 外部类名字.new 内部类名字

 

如果是内部类访问外部类的属性,这个属性要加上static关键字

如果是访问方法的局部变量,这个局部变量要加上final关键字

代码如下:

public class TraditionalThread {
 //实例化内部类时,一定要先实例化外部类
//static outputName outputer=new TraditionalThread().new outputName();//第一种方法,把被访问的属性加上static关键字
 public static void main(String[] args) {

  final outputName outputer=new TraditionalThread().new outputName();//第二种方法,把被访问的局部变量加上final关键
  
  // 创建一个线程
  new Thread(new Runnable() {

   @Override
   public void run() {
    while(true){
     try {
      Thread.sleep(100);
     } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }

//方法内的内部类要访问外部类的方法
     outputer.output("zhangxiaoxiang");
    }
   }

  }).start();
  new Thread(new Runnable() {

   @Override
   public void run() {
    while(true){
     try {
      Thread.sleep(100);
     } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }

//方法内的内部类要访问外部类的方法
     outputer.output("lihuoming");
    }
   }

  }).start();
  
 }

 // 内部类
 class outputName {
  void output(String name) {
   for (int i = 0; i < name.length(); i++) {
    System.out.print(name.charAt(i));
   }
   System.out.println();
  }
 }
}

 

---------------------- android培训java培训、期待与您交流! ------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值