JAVA面向对象

类和对象

现实世界,随处可见的一种事物就是对象。对象是事物存在的实体。人不可能记住每个实体,所以将具有相同特点的东西归为类。对象有两部分组成,动态和静态。静态是属性,动态是方法。

类是封装对象的属性和行为的载体。

类中对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的。

 成员变量:类的属性的叫法。

成员方法:

   权限修饰符  返回值类型  方法名(类型参数  参数名){

             ………. // 方法体

             return  返回值;

}

类的构造方法

与类同名的方法,对象的创建通过构造方法完成。其特点如下:

1,        构造方法没有返回值

2,        构造方法的名称要与本类名相同。

静态变量、常量和方法

static修饰的变量、常量和方法叫静态变量、常量和方法。

static: 五种
        1:静态成员变量
        2:静态成员方法
        3:静态代码块
        4:静态内部类 X
        5:静态导包     

static:可以被类名直接调用 

类名.属性名
类名.方发名                              
static与非static之间的重要区别:
区别1:
static修饰的成员是随着类的加载而加载(优先)                                                       
static成员是随着对象的创建而加载
区别2:

静态方法|静态代码块只能调用静态成员,非静态成员是不能直接调用的,创建对象(不能使用this关键字)
非静态方法可以直接调用非静态成员,也可以调用静态成员.类的对象进行调用静态成员
区别3:
静态成员对于多个对象而言是共享的
非静态成员对于多个对象是彼此独立的

对象

对象的创建:Text text = new Text();

            Text text = new Text();

    类名 对象名 = new 类名(参数(可以为空) );

访问对象的属性和行为:对象.类成员的方式来获取。

对象的引用: 类名  对象引用名称

对象的比较:Java中两种比较对象的方式,分别为“==”运算符与equals()方法的区别。Equals()方法是比较两个对象引用所指的内容是否相等;而“==”运算符比较的是两个对象引用的地址是否相等。

对象的销毁:暂且不知道。

封装

封装的概念:将类的某些信息隐藏在类的内部,不允许外部类直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作。

封装的实现:1,通过访问修饰符

            2,通过基本类型的类封装

            没有什么具体的方法,封装体现在Java的思想里。(目前的理解,随时改!)

继承

类的继承

基本思想是基于某个父类进行扩展,得到一个新的子类。子类可以继承父类的原有方法和属性,也可以增加原来父类所不具备的属性和方法,或者直接重写父类的某些方法。

继承:类和类之间的关系

Java所有类都默认继承自Object

class child extends Parent extends关键字实现类的继承

单根性:一个类只能存在一个父类

Java中的继承:子类可以继承父类的任何非私有成员(变量  方法 构造)  子类永远比父类拥有更多的成员 子>父

Object:任意一个类都直接或间接继承Object 在MyEclipse中查看继承架构图的快捷键为ctrl+T  ctrl+O 查看类中的所有成员

native:不是由java实现的,而是由C语言实现的

final:常量 类(代表该类不能被继承) 方法(该方法不能被子类重写)

类型转换

向上转型: 子类向父类转换 自动

向下转型: 父类向子类转换 强制 ClassCastException instanceof  (在调用子类特有的成员时)

子类可以再任何时刻替代父类: is a关系

方法的重载

方法重写:子类继承了父类的方法后,要对父类的方法进行改写 要求除了方法体之外,其他的必须一致(就进原则)

super:超类 super代表父类的对象

构造函数:函数名与类名完全相同, 没有返回值类型

执行时机:是在类的实例化的过程中,会自动调用构造函数

作用:完成类的成员变量的初始化

快捷键: alt+shirf+s generate constructor........

@Override:注解 标识的作用

类和类之间发生继承关系的情况下:构造是如何调用的 

实例化子类的同时:会先执行父类的无参构造

super():隐式调用 必须位于第一行

 带参构造必须显示调用

 

多态

多态:发生在具有继承关系的实体中,不同实体为了完成同一操作(函数名)所采取的不同方式(方法体)。   

里氏替换原则:(LiskovSubstitutionPrinciple):在出现超类的位置上,可以使用其子类对象 。由于,子类比父类更优秀,出现父类的任何位置,子类都可以使用)

    

多态实现的三种方式:

      父类类型接收子类对象实现的多态

      父类类型作为方法形参

      父类类型作为方法返回值

抽象类

抽象类: abstract关键字修饰的类

        不能直接实例化

内部可以存在抽象方法:

      1 使用abstract关键字修饰

      2 不能存在方法体

      3 子类必须重写 除非子类也是抽象类

普通类: 既能存在抽象方法,又能存在非抽象方法。可以构造函数

接口

 接口象征着一种能力:实现类对应接口的实现类,表明具备该种功能。

posted @ 2019-06-10 08:38  达摩石神  阅读(79)  评论(0编辑  收藏  举报