javaEE基础08

一、继承

特点:继承父类的属性和方法,单继承(多继承)

特性:方法的复写(重写)

  比如:人可以养狗

     人------>狗:整体和部分(拥有)关系

关键字:extends

结构: A类 extends B类:A类继承B类

继承中所要注意的事项

  1.不要为了继承而继承

  2.父类的私有变量(方法)不能够被继承

  3.父类的构造函数不能被继承

  4.子类在调用自己的构造方法时,会默认先调用父类的无参构造方法

  5.对于super的调用必须是构造器中的第一个语句

  6.子类不能继承不在一个包中默认权限的成员

什么时候使用继承:

  两个类之间必须要满足is a关系,才能拥有继承关系。

二、super关键字

Super:指向父类对象的引用空间

Super关键字的作用:

  1.当子类和父类存在同名的成员变量时,可以通过super来调用父类的成员变量

  2.Super可以用来调用父类的构造方法

public Zi(String color, String name,int age){

//用super来调用父类的构造方法

super(name,age);  //必须是构造器中的第一个语句

this.color = clolr;

}

Super使用的主要事项:  

  1.用super调用父类的构造方法,必须是构造方法中的第一个语句

  2.Super只能出现在子类的方法和构造方法中

  3.Super和this不能同时调用构造方法(因为两者都必须要在第一个语句)

Super和this的区别:

  1.代表的事物不一样:

    this:所属方法调用者对象

    super:表示父类对象的引用空间

  2.使用前提不一样:

    super:只能在继承的条件下才能使用

    This:在非继承条件下也可以使用

  3.调用构造方法:

    super:调用父类的构造方法

    this:调用本类的构造方法

二、重写

方法的复写作用

  父类的方法满足不了子类的实现,就需要通过复写方法实现父类的行为

方法的重写使用注意点:

  1.方法重写,必须存在继承关系

  2.方法重写,方法名和形式参数必须一致

  3.方法重写,子类的权限修饰符必须要大于或者等于父类的权限修饰符

  4.方法重写,子类的返回值类型必须小于或等于父类的返回值类型

  5.方法重写,子类的异常类型要小于等于父类的异常类型

基本数据类型:上下级不明确,因此基本数据类型在第4点不成立

方法重载:

  方法名一样:参数列表个数、类型以及顺序不一样

三、关键字

instanceof(实例类型)关键字作用:

  1.用来判断某个对象是否属于某一个类

  2.Instanceof:使用前提对象指定的类有继承关系或实现关系

final关键字:

  1.如果用final修饰基本数据类型变量,改变了就不能重新赋值,第一次的结果就为最终的结果(final修饰的变量必须要初始化)

  2.如果用final修饰引用数据类型,无法给引用数据类型变量赋值

  3.如果用final修饰方法,方法就不能被重写

  4.如果用final修饰类,类就不能被继承

如何用final表示常量

例:public final static double PI = 3.14;  //变量名要大写

格式: public final static 基本数据类型 变量名

abstract关键字:

  被abstract修饰的类就叫做抽象类

  被abstract修饰方法叫做抽象方法

  如果一个类继承了抽象类,必须要实现抽象类中的抽象方法

Abstract关键字的使用:

  1.如果一个方法没有方法体(大括号的内容即方法体),那么这个方法必须要abstract修饰

  2.如果一个类中有抽象方法,那么这个类必须要abstract修饰,为抽象类

  3.如果一个非抽象类,继承了这个抽象类,那么这个非抽象类中必须重写所有的抽象方法

  4.一个抽象类是可以拥有非抽象方法的

  5.一个抽象类可以拥有构造方法,作用是让子类能够初始化父类中的变量

  6.抽象类不能创建对象

    原因:如果创建对象,对象可能会调用到抽象方法,没有意义

  7.一个抽象类中是可以不出现抽象方法的

例:

abstract class Graph

{

//public Graph(){};  默认有一个无参构造

abstract public void area();

}

Abstract不能和:private、static、final使用

Abstract关键字什么时候使用

  在描述一个事物的时,发现该事物存在某种行为,但该行为又不具体,这种行为就叫做抽象行为,这时使用到抽象类

四、接口

例子:铅笔:带橡皮擦的铅笔

  两个功能:1.写字----> 铅笔   2.擦字---->橡皮

  现实:java是单继承,不能同时有两个功能

接口定义模式:

interface关键字来表示接口

//定义一个擦字的接口

interface Eraser

{

int a = 10;  //在接口中定义的变量必须初始化,接口中的变量是用final修饰的

//定义在接口中的方法是不需要实现的

public void clear();//默认是用abstract修饰的,接口中的方法都是抽象方法

}

实现接口关键字 implements

class EraserAndPencil implements Eraser, Pencil{

//在里面必须实现接口里的方法

}

Java中可以支持多实现,一个类可以实现多个接口,多个接口在 implements 后面用逗号隔开

接口的作用:

  1.用来拓展功能

  2.让程序解耦

  3.定义约束

接口的使用注意事项:

  1.接口是一个特殊的类,可以定义属性和方法

  2.属性默认用final修饰的:public static final int age = 10;实际上是一个常量

  3.方法都是抽象的:abstract public

  4.接口不能创建对象

  5.接口没有构造方法

  6.接口是给类去实现的非抽象类实现接口时,必须将接口中的方法都实现

interface Eraser

{

int a = 10;  //在接口中定义的变量必须初始化,接口中的变量时用final修饰的

//定义在接口中的方法是不需要实现的

public void clear();//默认是用abstract修饰的,接口中的方法都是抽象方法

}

类和接口的关系:实现关系

  1.一个非抽象类实现接口,必须实现接口中的方法

  2.一个抽象类实现接口,可以不实现接口中的方法,如果一个非抽象类继承抽象类,那么这个类需要实现这个接口中的所有方法

  接口和接口之间存在继承关系,可以继承多个接口

javaEE基础08的更多相关文章

  1. 4. 什么是应用服务器? - JavaEE基础系列

    本文是JavaEE基础系列的第四节. Java EE简介 - JavaEE基础系列 JSR简介 - JavaEE基础系列 什么是JSR参考实现? - JavaEE基础系列 上一节介绍了什么是JSR参考 ...

  2. 3. 什么是JSR参考实现? - JavaEE基础系列

    本文是JavaEE基础系列的第三节. Java EE简介 - JavaEE基础系列 JSR简介 - JavaEE基础系列 上一节中, 我们介绍了什么是JSR.JSR就是一个提交到JCP的抽象请求,包含 ...

  3. 2.JSR简介 - JavaEE基础系列

    JSR, Java Specification Request, Java规范请求; 也有的地方翻译为Java规范提案. 在前面的文章 1. Java EE简介 - JavaEE基础系列中, 简要介绍 ...

  4. 转:攻击JavaWeb应用[1]-javaEE基础

    http://www.cnblogs.com/oh3o/p/3224562.html JSP: 全名为java server page,其根本是一个简化的Servlet. Servlet:Servle ...

  5. JavaEE基础(十五)/集合

    1.集合框架(对象数组的概述和使用) A:案例演示 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息. Student[] arr = new Student ...

  6. JavaEE基础(十一)/Eclipse介绍

    1.Java开发工具(常见开发工具介绍) A:操作系统自带的记事本软件 B:高级记事本软件 C:集成开发环境 IDE (Integrated Development Environment) D:Ec ...

  7. JavaEE基础(九)

    1.面向对象(多态的概述及其代码体现) A:多态(polymorphic)概述 事物存在的多种形态 B:多态前提 a:要有继承关系. b:要有方法重写. c:要有父类引用指向子类对象. C:案例演示 ...

  8. JavaEE基础(五)

    1.Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基 ...

  9. JavaEE基础(四)

    1.Java语言基础(循环结构概述和for语句的格式及其使用) A:循环结构的分类 for,while,do...while B:循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的 ...

随机推荐

  1. 【挖坑】thusc前一周计划2016.5.30-2016.6.3

    首先开了徐姥爷blog&&AC记录里的几题,然后还有几个算法&&模板题要搞掉. 今天&&明天: bzoj3571/3083/2752/2727/2728 ...

  2. HTML学习笔记——标签(二)

    标签十二:<ul>标签 语义:是没有前后顺序的信息列表 语法: <ul> <li>信息</li> <li>信息</li> ... ...

  3. svn服务器地址变换以后,mac下的处理方法

    svn服务器地址变换之后,mac下的处理方法 svn服务器地址变换之后,mac下的处理方法 1.进入终端,进入项目所在的文件夹下: cd 项目位置/ 2.查看svn信息 svn info 3.输出结果 ...

  4. [bigdata] 从Cloudera Manager中彻底删除服务器

    1. 在CM中主机页里,选定要删除的服务器,选择操作“从群集中删除”. 2. 登录到主机,执行chkconfig,显示有cloudera-scm-agent服务, 执行service cloudera ...

  5. 响应式布局-Rem的用法

    前言: 文章较为系统地介绍了rem这个新的文字大小单位,绝对干货,绝对好文.转载时略有改动.   先来看看一些基本理念,比如: 响应式网页不仅仅是响应不同类型的设备,而且需要响应不同的用户需求.响应式 ...

  6. HTML5学习总结-番外05 移动终端适配

    一 viewport 在使用移动端设备浏览网页时,移动端浏览器是直接把整个页面放到一个虚拟的视图里来显示的,通常来说这个虚拟的视图大小会比手机屏幕大,用户可以通过手势操作来平移.缩放这个视图. 如果不 ...

  7. 数据结构之平衡查找树(AVL)

    AVL树的旋转操作 图解 最详细 各大教课书上讲的都是左旋与右旋,其实这样很容易理解错误,我们换一种叫法.我们称呼左旋为:逆进针旋转.我们称呼右旋为:顺进针旋转.

  8. Netty源码分析之服务端启动过程

    一.首先来看一段服务端的示例代码: public class NettyTestServer { public void bind(int port) throws Exception{ EventL ...

  9. 20145212&20145204信息安全系统实验四报告

    一.实验内容与步骤 1.本次实验建立在掌握嵌入式开发平台使用方法和配置方法的基础上,要求使用windows xp,linux(red hat),arm三个系统(即NFS方式): 2.在linux系统中 ...

  10. vs2015 HTTP Error 400. The request hostname is invalid.

    <site name="> <application path="/" applicationPool="Clr4IntegratedAppP ...