Java学习随笔之5: 面向对象(下)

java提供final关键字 修饰变量 方法 和类,系统不允许为final变量重新赋值,子类不允许覆盖父类的final方法,final类不能派生子类。

Abstract 和 interface 分别用于定义 抽象类和接口

 

装箱  值类型到引用类型

拆箱  引用类型到值类型

字符串到基本数据类型的转化: 数据类型的包装类提供的 parseXXX(String s) 方法可以实现 (Character不提供此方法)

String intStr = "123";

int it1 = Integer.parseInt(intStr);   

数据类型到 String 类型      String.valueof(数据类型变量)

 

重写 ToString 方法

 

== 和 equals 方法

== 比较值类型是, 如果两个变量值相等则 == 为true, 如果比较两个引用类型时,必须指向同一个地址 == 才为true,== 不能比较类型上没有父子关系的两个对象

 

单利模式

 

final关键字,类似于C#的 sealed (修饰的方法 类 变量 不可改变)

 

抽象类 抽象方法:(abstract),有抽象方法的类必须定义成抽象类

抽象方法:只提供方法名,不实现

规则:

。 抽象类 和 抽象方法 都必须 有关键字 abstract, 抽象方法不能有实现体

。 抽象类不能被实例化

。 抽象类里面可以包含:成员变量,方法(抽象或不抽象都可), 构造器(不能被实例化,用于子类的调用), 初始化块, 内部类

。 含有抽象方法的类只能定义成抽象类

Abstract 不会 定义成 private, 不会是 final, 方法也不会是 static

抽象类体现的是 模板模式的设计,避免子类的随意性

 

接口:interface  (类继承接口,用关键字 implements)

 

接口和抽象类:

  1. 二者都不能被实例化, 都位于继承树的顶端, 用于被其他类实现和继承
  2. 都可以包含抽象方法,继承的子类都不必须要实现这些抽象方法

 

一个类只能继承一个抽象类,可以继承多个接口

接口里不能有构造函数, 抽象类可以有

接口里只能用静态成员常量,抽象类可以有普通变量

接口里不能有初始化块,抽象类可以有

posted @ 2016-09-13 14:19  TomLiuxin  阅读(157)  评论(0编辑  收藏  举报