发表于: 2018-01-04 00:29:37
1 560
今日完成
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.继续任务一,以收集资料学习为主;
评论