java第十三天

* 方法什么时候定义为静态的?

*          方法描述的是动作,当所有的对象执行这个动作的时候,最终产生的影响是一样的,那么这个动作已经不属于某一个对象的动作了,可以将这个动作提升为类级别的动作,模板级别的动作。

*         静态方法中无法直接访问实例变量和实例方法。

*         大多数方法都定义为实例方法,一般一个行为或者一个动作在发生的时候,都需要对象的参与。

*         但是也有例外,例如:大多数“工具类"中的方法都是静态方法,因为工具类就是为了方便编程,为了方便方法的调用,自然不需要new对象是最好的。

总结:

class 类{

静态代码块;

实例代码块;

静态变量

实例变量

构造方法

静态方法

实例方法

*   this

*   static

}

————————————————————————————————————————————————————————————————

* 关于Java语言当中的继承:

*              1、继承是面向对象三大特征之一,三大特征分别是:封装、继承、多态

*                2、继承“基本”的作用是:代码复用。但是继承最“重要”的作用是:有了继承才有了以后“方法的覆盖”和“多态机制”

*                3、继承语法格式:

【修饰符列表】  class   类名   extends    父类名{

类体=属性+方法

}

*                4、java语言当中的继承只支持单继承,一个类不能同时继承很多类,只能继承一个类 。在C++中支持多继承。

*    5、关于继承中的一些术语:

B类继承A类,其中:

        A类称为:父类、基类、超类、superclass

B类称为:子类、派生类、subclass

6、在Java语言当中子类继承父类都继承哪些数据呢?

-私有的不支持继承

-构造方法不支持继承

-其它数据都可以被继承

7、虽然java语言当中只支持单继承,但是一个类也可以间接继承其它类,例如:

C   extends   B{

}

B   extends   A{

}

A   extends  T{

}

C直接继承B类,但是C类间接继承T、A类。

8、java语言中假设一个类没有显示的继承任何类,该类默认继承JavaSE库当中提供的java.lang.Object类。

Java语言中任何一个类中都有Objiect类的特征。 

//MyEclipse快捷键:查找类型【Open Type】-->ctrl+shift+t

//MyEclipse快捷键:查找资源【Open Resource(资源)】-->ctrl+shift+r


*  回顾java语言当中的方法的重载

1、方法重载又称为Overload

2、方法重载什么时候使用?

当在同一个类当中,方法完成的功能是相似的,建议方法名相同,这样方便程序员的编程,就像在调用一个方法似的。代码美观。

3、什么条件满足之后构成方法重载?

*   在同一个类当中

*   方法名相同

*   参数列表不同:类型,数量,顺序

4、方法重载和什么无关?

*   和方法的返回值类型无关

*    和方法的修饰符列表无关

4、方法的覆盖:

1、方法覆盖又被称为方法重写,英语单词:Override【官方的】/Overwrite【非官方的】

2、什么时候使用方法重写?

    当父类中的方法已经无法满足当前子类的业务需求,

    子类有必要将父类中继承过来的方法进行重新编写,

     这个重新编写的过程称为方法重写/方法覆盖。

3、什么条件满足之后方法会发生重写呢?【代码满足什么条件之后,就构成方法的覆盖了呢?】

* 方法重写发生在具有继承关系的父子类之间

* 方法重写的时候: 返回值类型相同,方法名相同,形参列表相同

* 方法重写的时候:访问权限不能更低,可以更高。

方法重写的时候:抛出异常不能更多,可以更少。【以后讲,讲完异常之后才能解释     】

4、建议方法重写的时候尽量复制粘贴,不要编写,容易出错,导致没有产生覆盖。

5、注意:

*   私有方法不能继承,所以不能覆盖。

*    构造方法不能继承,所以不能覆盖。

*     静态方法不存在覆盖。【讲完多态之后解释】

*      覆盖只针对方法,不针对属性。

*       关于java语言当中的多态语法机制:

*                1、Animal、Cat、Bird  三个类之间的关系:

*     Cat继承Animal

*     Bird继承Animal

*     Cat和Bird之间没有任何继承关系

3、关于多态中涉及到的几个概念:

*向上转型(upcasting)

子类型- ->父类型

又被称为:自动类型转换。

*向下转型(downcasting )

父类型- ->子类型

又被称为:强制类型转换。【需要加强制类型转换符】

* 需要记忆:

      无论是向上转型还是向下转型,两种类型之间必须要有继承关系。没有继承关系,程序是编译通过的。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容