JAVA基础课总结八

原创 2015年11月18日 23:33:32


一、多态

   A:对象在不同时刻表现出来的不同的状态

 

   B:多态前提

 a:要有继承关系。

b:要有方法重写。

c:要有父类引用指向子类对象。

   在多态的时候,父类的引用除了子类重写的方法是调用的子类的之外,其他的都是调用的父类的,如果父类没有就报错

 

C:多态中的成员访问特点

a成员变量

编译看左边(父类),运行看左边(父类)

 

b成员方法

编译看左边(父类),运行看右边(子类)

 

c静态方法

编译看左边(父类),运行看左边(父类)

(静态和类相关,算不上重写,所以,访问还是左边的)

只有非静态的成员方法,编译看左边,运行看右边 

 

D:多态中向上转型和向下转型

Person p = new SuperMan();向上转型 ,多态本身就是向上转型

SuperMan sm = (SuperMan)p;向下转型

 

注意:1、在向下转型过程中有可能会出现ClassCastException 类型转换异常

2、以后必须这样做:父类的引用指向的哪个子类对象 就可以强转成哪个子类对象 否则报错,即存在instanceOf关系

3、向下转型必须建立在向上转型基础上,即存在多态的情况,即有属于的关系

E:多态的好处和弊端

a:多态的好处

提高了代码的维护性(继承保证)

提高了代码的扩展性(由多态保证)

    多态的使用在当做参数传递的时候最能体现扩展性

b:多态的弊端

 不能使用子类的特有属性和行为。

 

二、抽象类

 

A: 有抽象方法的类就叫做抽象类

B:抽象类特点

 a:抽象类和抽象方法必须用abstract关键字修饰

 abstract class 类名 {}

 public abstract void eat();

 b:抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口

 c:既然抽象类不能实例化 那怎么用抽象类里面的内容呢?

子类创建子类的对象 就能试用抽象类里面的内容

     d:抽象类的子类

 要么是抽象类

 要么重写抽象类中的所有抽象方法

         作用:强制要求子类重写抽象方法

 

注:构造方法是用于创造对象的,但是构造方法不能被继承,子类通过super访问父类的构造方法

 

C:抽象类的成员特点

a:成员变量:既可以是变量,也可以是常量。abstract不能修饰成员变量

b:构造方法:有。用于子类访问父类数据的初始化。

 c:成员方法:既可以是抽象的,也可以是非抽象的。

D:抽象类的成员方法特性:

抽象方法 :强制要求子类做的事情。

非抽象方法 :子类继承的事情,提高代码复用性。

 

三、接口

A:从狭义的角度讲就是指java中的interface,所有的方法都是抽象方法

 从广义的角度讲对外提供规则的都是接口 

B:接口特点

 a:接口用关键字interface表示

 interface 接口名 {}

 b:类实现接口用implements表示

 class 类名 implements 接口名 {}

 c:接口不能实例化

    实现类实例化

 d:接口的子类

 a:可以是抽象类。不用重写父类所有方法

 b:可以是具体类。要重写接口中的所有抽象方法。

     e:接口的所有方法都是抽象的

C:接口的成员特点

 成员变量:只能是常量,并且是静态的并公共的。

 默认修饰符:public static final

 建议:自己手动给出。

 构造方法:接口没有构造方法。

 成员方法:只能是抽象方法。

              所以子类实现接口的时候 必须都重写他的方法

 默认修饰符:public abstract

 建议:自己手动给出。

 

D:类与类,类与接口,接口与接口的关系

 a:类与类:

 继承关系,只能单继承,可以多层继承。

 b:类与接口:

 实现关系,可以单实现,也可以多实现。

 并且还可以在继承一个类的同时实现多个接口。

 c:接口与接口:

 继承关系,可以单继承,也可以多继承。

E:抽象类和接口的区别

 a:成员区别

 抽象类:

 成员变量:可以变量,也可以常量

 构造方法:有

 成员方法:可以抽象,也可以非抽象

 接口:

 成员变量:只可以常量

 成员方法:只可以抽象

 b:关系区别

 类与类

 继承,单继承

 类与接口

 实现,单实现,多实现

 接口与接口

 继承,单继承,多继承

 c:设计理念区别

 抽象类 被继承体现的是:”is a”的关系。抽象类中定义的是该继承体系的共性功能。

 接口 被实现体现的是:”like a”的关系。接口中定义的是该继承体系的扩展功能。

 

F:接口的作用:

接口是对外暴露的规范

接口是程序的功能的扩展

 接口的出现降低了耦合性

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JAVA基础课总结九

本节重点介绍了内部类,是本人根据学习资料总结所得! 一、包                    ...

08/25号JAVA基础课学习总结

学习报告 1. 程序设计方面基础知识: Ø  程序:可以被计算机连续执行的指令集合。 Ø  软件:为了实现某些特定的功能,编制成的一个到多个的程序文件的集合。 Ø  计算机语言:可以与计算机进...

java面向对象基础课(继承,方法重写),图形界面=0912号

学习报告 1、什么是重写?用什么方法可以强制检测当前方法是否重写父类方法? 解答: l  重写发生在父类与子类之间,子类的方法名和父类相同,参数列相同,返回类型也相同。当对子类对象进行方法调用时...

Java基础课时1

Java 编程语言是个简单、完全面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的编程语言,Java可以撰写跨平台应用软件。 1.环境搭建 首先查看自己系统...

Java基础课——File类的使用

Java基础课——File类的使用项目里需要用到File类,趁此复习了一下File的基本用法:创建、删除、复制、重命名······· 总的来说,File类既可以看做目标,也可以看做是一个文件,具体参...

java基础课时2--项目的导入和导出

1.导出项目 eclipse中点击自己的工程,右击选择Export 点击下一步 都不要改,只需要设置导出的目录即可。 2.导入项目 工作面板中右击 点击下一步 选择目录点击下一...

JAVA语言基础课后小结

分隔符,标识符以及关键字 (1)分隔符 包括  逗号、分号(语句结束标志)、花括号、空格、圆点。 public class TestSeparated{           int a,b; ...

java基础课件

Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。 Java 2集合框架图 集合接口:6个接口(短虚线表示),表示不同集...

Java基础课件

  • 2015-08-12 21:35
  • 7.54MB
  • 下载

java基础课件 ppt

  • 2012-12-04 11:27
  • 42.18MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)