发表于: 2018-01-04 00:29:37

1 559


今日完成

    1.封装、setter()方法和getter()方法的学习;

     封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。

    而我们在设置变量的属性时,我们通常会对数据进行封装,这样就可以增加了数据访问限制,增加了程序可维护性。而实现方法就是:

    a.用private去修饰一个变量;

    b.然后再用setter方法去设置该变量的值;

    c.然后在用getter方法去调用该变量的值;

   在反射中也可调用setter()方法和getter()方法来获得对象信息。

  2.内部类、复习接口、属性等;

  内部类:在类中再定义一个类,则再定义的这个类称为内部类;

  内部类分为:a.成员内部类、局部内部类、匿名内部类、静态嵌套;

   1).成员内部类:它可以访问外部类所有方法,字段和外部类本身的引用,及时这些类成员被修饰为private。

package practice;

public class OuterClass {
//新建一个内部类对象
   innerClass in = new innerClass();
   public void ouf() {
in.inf();
   }
public innerClass doit() { // 外部类方法,返回值为内部类引用
       in.y=200;
       return in;
   }
public static void main(String[] args) {
OuterClass out = new OuterClass();
       //创建一个内部类
       OuterClass.innerClass in = out.doit();
       in.inf();
       OuterClass.innerClass in2 = out.new innerClass();
       in2.inf();
       Another another=new Another();

   }
//内部类
   class innerClass {
public void inf() {
System.out.println(y);
       }
int y = 0;
   }

}
class Another{
public Another(){
System.out.println("我是另外一个类");
   }
}

     2).内部类向上转型为接口

       a.内部类向上转型为接口可以完全隐藏内部类的具体实现过程

       b.可以定义多个内部类 以不同的方式实现接口中的同一个方法

       c.这种技巧经常被应用在swing编程中,可以在一个类中做出不同的响应事件。(任务一中好像用不到swing)

package practice;
   interface OutInterface {
public void f();
   }

public class InterfaceInner {
public static void main(String args[]) {
OuterClass2 out = new OuterClass2();
           OutInterface outinter = out.doit();
           outinter.f();
       }
}

class OuterClass2 {
private class InnerClass implements OutInterface {
InnerClass(String s) {
System.out.println(s);
           }

public void f() {
System.out.println("访问内部类中的f()方法");
           }
}

public OutInterface doit() {
return new InnerClass("访问内部类构造方法");
       }
}


明天计划

1.完成内部类的学习,开始学习java异常处理、捕捉异常等;

2.继续任务一,以收集资料学习为主;



返回列表 返回列表
评论

    分享到