JavaSE基础复习:面向对象知识点二

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


abstract关键字

修饰抽象类,则该类不能再被final 修饰

修饰方法时,该方法只有定义,没有实现,不能再被static、private、final修饰



接口:定义接口的关键字interface.

对于接口当中常见的成员:而且这些成员都有固定的修饰符。 (可以省略)
1,全局常量: public  static final  
2,抽象方法。public abstract  

接口:
1、可以多实现,一个类可以有多个接口,
2、如果其中有接口都定义了同样的方法,这被实现的方法可以为这几个接口使用。
3、接口可以多继承,因为接口只有方法定义,没有方法体。不会造成不确定性。
4、接口中的成员都是公共的. 只有常量和方法的定义,没有变量和方法的实现。

抽象类和接口的异同点: 
 
相同点:都是不断向上抽取而来的。 
不同点: 
  1,抽象类需要被继承,而且只能单继承。 
     接口需要被实现,而且可以多实现。  
  2,抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法。 
     接口中只能定义抽象方法,必须由子类去实现。  
  3,抽象类的继承是is a关系,在定义该体系的基本共性内容。 
     接口的实现是like a关系,在定义体系额外功能。 
     
模板方法设计模式:(提高扩展性和复用性)
    在定义功能时,当一部分功能确定,而一部分功能不确定,并且确定的部分在使用不确定的部分时,
    可以将不确定的部分暴露出去,由子类来实现。不一定是抽象的。

单例设计模式:保证类在内存中的对象的唯一性。
    实现方法:私有化构造函数,在内部创建对象,提供接口供外界引用
    饿汉式:类加载时创建对象。具体工作中一般用饿汉式,比较安全。
    懒汉式:方法被调用时创建对象,延迟加载方式。或者用多线程方式,将返回对象函数加一层判断,定义为synchronized,但是比较低效。

内部类访问规则:
1、内部类可直接访问外部类中成员,包括私有的,而不需建立对象。
   内部类能直接访问外部类中成员,是因为内部类持有了外部类的引用,
   即   Outer.this.成员名。
2、外部类不能访问内部类中的成员,需要先建立内部类对象。
3、内部类在外部类成员位置上,可以用private修饰。
4、当内部类中有静态成员,该内部类必须声明为静态的。当外部类中静态方法访问内部类时,内部类也要是静态的。

内部类访问格式:
1、当内部类定义在外部类成员位置上时,而且非私有,可以再外部其他类中,直接建立内部类对象。
   格式: Outer.Inner para = new Outer().new Inner()        
2、当内部类在成员位置上,可以被修饰符修饰,比如private将内部类在外部类中封装。
3、静态内部类具备静态特性,只能访问外部类中静态成员。
   外部其他类访问静态内部类非静态成员:new Outer.Inner().function()  //function为非静态成员
   外部其他类访问静态内部类中的静态成员:Outer.Inner.function() //function 为静态成员

当描述事物时,发现事物内部还有事物,该内部事物用内部类来描述,因为内部事物在使用外部事物的内容。

局部内部类:
局部内部类不能定义静态成员。
不能有访问权限修饰符,不是成员;
可以直接访问外部类成员;
不可以访问所在局部中的局部变量,只能访问被final修饰的局部变量。

匿名内部类:必须继承一个类或者实现一个接口。
格式:nwe Base/Interface1() {定义子类内容}.成员;
其实匿名内部类就是一个匿名子类对象






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





     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值