复习
1、抽象类
是用来描述一些不具体事物的群体中带有不明确或者模糊的行为的这样的一类事物。
一个类中拥有一个没有方法体的方法,这个方法就必须使用关键字abstract修饰,这样的方法
就叫抽象方法。
如果一个类中包含了抽象方法,那么这类也就变成抽象,也得用abstract 修饰类。
抽象类中也可以拥有非抽象的方法,就算这个类中一个抽象方法都没有,那么这个类也可以成为抽象类,
强制加上abstract修饰符。
抽象类是不够直接通过new 关键字来创建对象的,但是抽象是有构造函数的,因为构造函数是不能被继承的
抽象父类或者普通父类的构造函数都是又子类构造函数的super(),来调用,在第一行。
就是为了实现多态,因为抽象类,必须得被继承,抽象类有抽象方法,所以这样的方法必须被重写
实现,同时我们又可以在实现的时候,写成父类的引用指向子类的对象。所以就有了多态的应用。
抽象类增加程序和显示生活的接近度。
抽象类可以实现java 中某种设计模式。
2、接口
1)在显示生活中设计意义,接口代表就是一个标准,一种规则,大家都得遵守,所创建出来的事物对象才更通用化。
2)今后的项目和软件开发中,一定接口模式比较,因为可以提高我们程序的可扩展度。
3)java 的语法中来看,接口使用interface 这样的一个关键来修饰,它已经不是类了,是个接口。
而且在接口中只有常量和抽象方法。
常量: public static final int num = 21; public int num = 23;
抽象方法: public abstract void test(); public void test();
4) 接口是抽象类升级版,接口同样不可以创建对象。
5) 接口和接口之间是多继承(extends), 类和类之间是单继承(extends), 类和接口之间多实现(implements)
6)如果你的类没有把实现的所有接口中所有抽象方法都实现了,那么你这个类得变成抽象类。
1、 关联接口
//就是把某种类型的对象作为一个类属性值。如果是管连接口,
//那么这个属性类型就是一个接口类型,关联进来的对象就是这个接口的实现类的对象。
小明有一只小狗和一只小猫。
根据这样的需求抽象出动物的接口animal。
2、 依赖接口
小明在照顾小狗或者小猫。
根据这样的求抽象出宠物的接口Pet。
3、内部类
在一个类的内部 再写一个类,那么这个类就是内部类。
我们想定义一个类,来完成某些事情,但是这个类又不想让其的地方使用。
内部类经常使用的环境,场景, awt,swing,android 中使用内部类的时候比较多,
这几个地方大多都基于事件触发机制来完成某种动作。
4、对内部类进行分类,根据创建内部类的方式不同分为4类.
私有的属性,是不是只能在当前类中访问,是,但是可以在其内部类中直接访问。
内部类编译之后,会产生一个独立class类文件。但是命名是有一定规则。
a、静态内部类
其实就相当于在一个类中,嵌套了一个类结构,并没有太多特殊之处。(静态内部类是属于外部类的)
内部类的使用,创建对象的方式是怎么样的。(Outter.Inner oi = new Outter.Inner());
b、成员内部类
其实就相当于外部类中一个普通方法,这个外部类对象中的一个内部类。
使用,创建对象,
c、方法内部类
这个内部类用的最少(直接使用这样的方法内部的时候最少),
作用域范围最小,不能出成员方法。
这成员方法中属性,对于这个方法内部类来说没有权限方法,如果要访问必须加final
使用,也不能出这个方法,创建对象。
d、匿名内部类(这就是方法内部类一种,最多)
匿名就是所创建这个内部类的名是没有的。
匿名内部类的通常是为了给抽象或者接口充当子类或者实现类。
而且,指定义一次,使用一次,这个类就消失了。
而且,在使用的使用,创建对象的时候,是和定义类同时发生的。
保证了你所创建的类和对象,就只能使用一次,别人是无法使用。
1、抽象类
是用来描述一些不具体事物的群体中带有不明确或者模糊的行为的这样的一类事物。
一个类中拥有一个没有方法体的方法,这个方法就必须使用关键字abstract修饰,这样的方法
就叫抽象方法。
如果一个类中包含了抽象方法,那么这类也就变成抽象,也得用abstract 修饰类。
抽象类中也可以拥有非抽象的方法,就算这个类中一个抽象方法都没有,那么这个类也可以成为抽象类,
强制加上abstract修饰符。
抽象类是不够直接通过new 关键字来创建对象的,但是抽象是有构造函数的,因为构造函数是不能被继承的
抽象父类或者普通父类的构造函数都是又子类构造函数的super(),来调用,在第一行。
就是为了实现多态,因为抽象类,必须得被继承,抽象类有抽象方法,所以这样的方法必须被重写
实现,同时我们又可以在实现的时候,写成父类的引用指向子类的对象。所以就有了多态的应用。
抽象类增加程序和显示生活的接近度。
抽象类可以实现java 中某种设计模式。
2、接口
1)在显示生活中设计意义,接口代表就是一个标准,一种规则,大家都得遵守,所创建出来的事物对象才更通用化。
2)今后的项目和软件开发中,一定接口模式比较,因为可以提高我们程序的可扩展度。
3)java 的语法中来看,接口使用interface 这样的一个关键来修饰,它已经不是类了,是个接口。
而且在接口中只有常量和抽象方法。
常量: public static final int num = 21; public int num = 23;
抽象方法: public abstract void test(); public void test();
4) 接口是抽象类升级版,接口同样不可以创建对象。
5) 接口和接口之间是多继承(extends), 类和类之间是单继承(extends), 类和接口之间多实现(implements)
6)如果你的类没有把实现的所有接口中所有抽象方法都实现了,那么你这个类得变成抽象类。
1、 关联接口
//就是把某种类型的对象作为一个类属性值。如果是管连接口,
//那么这个属性类型就是一个接口类型,关联进来的对象就是这个接口的实现类的对象。
小明有一只小狗和一只小猫。
根据这样的需求抽象出动物的接口animal。
2、 依赖接口
小明在照顾小狗或者小猫。
根据这样的求抽象出宠物的接口Pet。
3、内部类
在一个类的内部 再写一个类,那么这个类就是内部类。
我们想定义一个类,来完成某些事情,但是这个类又不想让其的地方使用。
内部类经常使用的环境,场景, awt,swing,android 中使用内部类的时候比较多,
这几个地方大多都基于事件触发机制来完成某种动作。
4、对内部类进行分类,根据创建内部类的方式不同分为4类.
私有的属性,是不是只能在当前类中访问,是,但是可以在其内部类中直接访问。
内部类编译之后,会产生一个独立class类文件。但是命名是有一定规则。
a、静态内部类
其实就相当于在一个类中,嵌套了一个类结构,并没有太多特殊之处。(静态内部类是属于外部类的)
内部类的使用,创建对象的方式是怎么样的。(Outter.Inner oi = new Outter.Inner());
b、成员内部类
其实就相当于外部类中一个普通方法,这个外部类对象中的一个内部类。
使用,创建对象,
c、方法内部类
这个内部类用的最少(直接使用这样的方法内部的时候最少),
作用域范围最小,不能出成员方法。
这成员方法中属性,对于这个方法内部类来说没有权限方法,如果要访问必须加final
使用,也不能出这个方法,创建对象。
d、匿名内部类(这就是方法内部类一种,最多)
匿名就是所创建这个内部类的名是没有的。
匿名内部类的通常是为了给抽象或者接口充当子类或者实现类。
而且,指定义一次,使用一次,这个类就消失了。
而且,在使用的使用,创建对象的时候,是和定义类同时发生的。
保证了你所创建的类和对象,就只能使用一次,别人是无法使用。