A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shi0000 中级黑马   /  2014-4-3 22:16  /  1255 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

      面向对象、封装、继承、多态(2)
(一)引用变量类型转换
向上转型:父类名称 父类对象=子类实例(自动转型)
向下转型:子类名称  子类对象=(子类名称)父类实例
对象的类型和类必须有继承关系。
(二)基本数据类型类型的装箱与拆箱
自动装箱:将一个基本数据类型直接赋给对应的包装类对象或Object对象
自动拆箱:将包装类对象直接赋给对应的基本数据类型。
String类:与基本数据类型的转换提供方法:parseXX();
(三)单例Singleton模式
目的:整个应用程序有且只有一个实例,所有指向该类型实例的引用都指向这个实例。
饿汉式:static修饰,随类的加载而加载,会损耗性能,但方法简单
Class Singleton{
Private static final Singleton s=new Singleton()
Private Singleton(){}
Public Singleton getInstance(){
Return s;
}
}
懒汉式:第一次引用时相对较慢,因为需要加载,线程不安全。
Class Singleton2{
Private static Singleton2 s=null;
Private Singleton2(){
S=new Singleton2();
}
Public Singleton getInstance(){
Return s;
}
}
(五)final关键字
1、final可以修饰类,方法、变量。
2、修饰的类不可以被继承,但可以继承其他类
3、修饰的方法不可被覆写。
4、修饰的变量为常量,不可改变
5、内部类在局部时,只可以访问被final修饰的局部变量。
(六)接口与抽象类
抽象类:被abstract修饰,别abstract修饰的抽象方法,只能方法名和返回值类型,不能有方法体。
接口:抽象类是从多个类中抽象出来的模板,若将这种抽象进行的更彻底,就得到一种
特殊的“抽象类”,即接口
相同点:都是位于继承的顶端,用于被其他继承或实现
都不能实例化
都包含抽象方法,其子类必须覆写这些抽象方法。
(七)匿名内部类
适合只使用一次的类;
不能是抽象类,匿名内部类不能定义构造器,因为匿名内部类没有类名。
(八)枚举 enum
使用enum声明,默认直接继承了java.lang.Enum类,而不是Object
枚举类的对象是固定的,实例个数有限,不可以再new();
枚举元素必须位于枚举类的最开始部分,
Private修饰枚举类的构造方法
枚举类覆写接口抽象方法的两种方式:
在枚举类中实现接口的抽象方法
在枚举匿名内部类中实现接口的抽象方法。

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马