java面向对象下

来源:互联网 发布:月球背面 知乎 编辑:程序博客网 时间:2024/09/21 09:00

继承:

 a) 继承具有层次性,并且具有传递性;

 b)子类可以继承父类中的属性和方法,但是父类中的私有属性不能被继承;

 c)子类可以拥有自己的属性和方法;

 d)在java中,继承是单一性的,也就是说应该子类只能有应该父类,而一个父类却可以拥有多个子类

 f)判断继承关系是否成立用 is-a 是一个来判断;

作用:

提高代码的重用性;

super 关键字:

super关键字只能出现在有继承关系的子类中;

super关键字表示对当前父类对象的引用;

目的:

就是明确告诉JVM该方法或属性来自于父类

用法:

super.属性名称//父类属性

super.方法名称//父类方法

当super关键字以(参数列表)的形式出现在子类构造方法的第一句时,就表示了创建父类对象时,所使用的构造方法

java.lang包
 位于java.lang包中的类,无需导包,可以直接使用。因为java.lang
 包中存放都是java中常用的核心类。

Object类

java.lang.Object类是所有java类的父类。

如果创建时么有明确表示,则默认就是Object;

访问修饰符

private 用来修饰属性

方法一般用public和默认来修饰

方法重写

方法重写是多态的一种表现

目的

当父类中继承过来的属性或者方法满足不了子类的需求时,要用子类来重写

子类重写父类中的方法,就要和父类中的方法名称,参数列表返回值类型完全一致,而且访问修饰符的范围不能被缩小

final关键字

   a)final修饰变量等同于常量,一旦赋值就永远不能更改
   b)final修饰方法中的参数,称为最终参数,在调用该方法时,给参数传递数据,在方法体内也无法再次给参数重新赋   值。
   c)final修饰类,类不能被继承。
   d)final修饰的方法,不能被重写。
向上转型
创建一个子类的对象给父类就使用了向上转型,因为父类中包括了子类
用法:
父类 对象=new 子类();
动态绑定机制:
a)继承    b)方法重写  c)向上转型  d)要用向上转型的对象来调用被子类重写的方法就会发生动态绑定机制
向下转型
向下转型是在向上转型的基础上做类型的还原
用法:
对象 instanceof 类名/接口名称;
static关键字
static关键字修饰属性和方法就是静态属性和静态方法;
Java中存在类属性类方法,还存在一种叫做实例属性和实例方法。
类属性和类方法都属于类,所以可以通过类名.属性或者类名.方法名称的方式来调用。
 实例属性和方法是属于对象的,所以在调用属性和方法的时候,都要通过对象来调用。
成员属性(全局变量)默认值
在java中,所有的成员属性jvm都会给赋一个默认值
数值类型默认为0;
char类型默认为a;
boolean类型默认为false;
引用类型默认为null;
抽象类
当一个类么有足够的信息取描述一个事物时,那就是抽象的
a)抽象类不能被实例化
  b)抽象类可以拥有构造方法
  c)抽象类中可以拥有普通的属性和普通的方法,也可以拥有静态属性和静态方法。
  d)抽象类中可以定义抽象方法,所谓的抽象方法只有方法的
  声明没有方法体。

抽象中的所有方法有子类来实现
如果子类么有完成全部方法,那么,子类也要定义成抽象,由子类的子类来完成,以此类推
如果一个类中由一个抽象方法,那么这个类一定是抽象类。但是抽象类中不一定有抽象方法
定义抽象类的语法:
   [访问修饰符] abstract class 类名{}
接口
  a).接口中没有构造方法,也不能被实例化。
  b).接口中的所有属性都是静态的常量,而且这些属性默认都是由 public static final来修饰的
  c).接口中只能有方法的声明,不能方法体。
  d)接口中的方法只能有public来修饰,哪怕没有明确写明访问修饰符,默认也是public。
  f)接口可以实现多继承,如果一个接口继承了多个接口,接口之间用逗号隔开即可。



1.一个类实现了接口,就要实现接口中所有的方法,否则当前类就要定义成抽象类。
 2.一个类可以实现多个接口,实现多个接口,就要把所有接口中的方法都要实现了,否则也要定义成抽象类。实现多个接口,用逗号隔开即可。
 3.实现接口就是一种特殊的继承关系。

0 0