继承

1、特点

a) 要有一定的层次结构,并且具备可传递性。

b) 判断两者之间是否有继承关系通过is-a来判断。

c) 子类继承了父类,那么子类就继承了父类中所有的属性和方法,但是父类中的私有属性和构造方法除外。原因:父类中的私有属性是属于父类,子类无法继承,父类中的构造方法是创建父类对象的,子类无法继承。

d) 子类继承了父类,但是子类也可以拥有自己的属性和方法。

e) 在java中只支持单一继承,即一个子类只能继承一个父类,但是一个父类可以有多个子类。

f) 作用:提高代码的重用性。

g) 在java中通过extends 关键字实现继承,语法如下:

[访问修饰符] class  子类名称 extends 父类名称{
}

2.super关键字

A、前提:super关键字只能用在有继承关系的子类中。

B、作用:super表示对当前类父类对象的引用(也就是说super表示的是一个父类对象)

C、用法:

(a)调用父类中的属性:super.属性名称;

  (b)调用父类中方法:super.方法名称(参数列表);

    创建子类对象时,一定会先执行父类中的构造方法,创建父类对象,然后再调用子类的构造方法创建子类对象。

  (c)super关键字的第二大用法:

如果子类构造方法没有显式调用超类构造方法,那么会调用超类的默认构造方法。

如果超类没有默认构造方法,而且子类构造方法又没有显示调用超类的其它构造方法,那么编译将报错。

若要在子类构造方法中调用超类构造方法,则在子类构造方法的第一条语句用关键字 super来调用。

语法为:

a) super() ;   //显式调用超类的无参构造方法

b) super(实参列表) ;   //显式调用超类的带参构造方法

3.访问修饰符

a) private只能在本类中访问,一般用来修饰属性

b) 默认的可以同一类或者同一个包中的类被访问

c) protected同一个类同一个包中的类,或者不同包中的子类访问,但是在不同包中的子类访问父类protected修饰的属性时,需要通过子类对象访问。

d) public用来修饰类,方法,表示公共的,一般类用public 或默认的访问修饰符修饰。

4.final关键字

final修饰的变量(成员变量或局部变量)的值不能改变,即等同于常量,在定义时就必须要进行初始化,之后就再也不改变它的值了。

final可以修饰方法的参数,叫最终参数。调用这个方法时给最终参数赋值之后,在方法体内再也不能改变它的值了。

final修饰的方法不能被子类重写。

final修饰的类不能被继承。

Java基础9一面向对象的更多相关文章

  1. Java基础教程:面向对象编程[2]

    Java基础教程:面向对象编程[2] 内容大纲 访问修饰符 四种访问修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. default ...

  2. Java基础教程:面向对象编程[1]

    Java基础教程:面向对象编程 内容大纲 Java语言概述 Java语言特点 1.Java为纯面向对象的语言,它能够直接反映现实生活中的对象.总之,Everything is object! 2.平台 ...

  3. Java基础教程:面向对象编程[3]

    Java基础教程:面向对象编程[3] 内容大纲 基础编程 获取用户输入 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入.我们可以查看Ja ...

  4. Java基础语法(9)-面向对象之类的成员

    title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...

  5. Java基础语法(11)-面向对象之关键字

    title: Java基础语法(11)-面向对象之关键字 blog: CSDN data: Java学习路线及视频 1.this this是什么 它在方法内部使用,即这个方法所属对象的引用: clas ...

  6. JAVA基础知识之面向对象编程知识汇总

    JAVA基础课程部分面向对象已经学习完成,知识结构如下: 总体知识框架: 类的结构: 面向对象编程三大特征: 关键字和抽象类接口等: 常见知识汇总: 成员变量和局部变量比较 有无返回值方法比较: 权限 ...

  7. Java基础语法(10)-面向对象之三大特征

    title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...

  8. Java基础一:面向对象的特征

    经过16年校招,自己在Java基础方面也算有了一个质的飞跃,从原来知其然,到现在知其所以然,现将学习心得总结于此. 首先需要知道类和对象是什么? 维基百科定义类为: an extensible pro ...

  9. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  10. java基础学习总结——面向对象2

    一.JAVA类的定义

随机推荐

  1. jstl与el结合常见用法

    JSTL Functions标签库 在JSP文件中使用Functions标签库,要先通过taglib指令引入该标签库: <%@taglib uri=”http://java.sun.com/js ...

  2. null值处理

    一,在实体类的上面加注解 import com.fasterxml.jackson.annotation.JsonInclude @JsonInclude(JsonInclude.Include.NO ...

  3. python 疑难杂症

    1.getpass模块    :Pycharm不支持getpass模块,使用terminal可运行,但是getpass中文提示显示乱码?

  4. 布尔类型、操作符别名、C++函数、动态内存分配(new\delete)、引用(day02)

    六 C++的布尔类型 bool类型是C++中基本类型,专门表示逻辑值:true/false bool在内存上占一个字节:1表示true,0表示false bool类型可以接收任意类型和表达式的结果,其 ...

  5. 重置root管理员密码(RedHat、CentOS、Fedora)

    重启Linux系统主机并出现引导画面时,按下键盘上的e键进入内核编辑界面. 在Linux16参数这行后面追加"rd.break"参数,然后按下Ctrl+x组合键来运行修改后的内核程 ...

  6. C#学习笔记_03_运算符

    03_运算符 算数运算符 + - * / % ++ -- 赋值运算符 = += -= *= /= %= 关系运算符 > < >= <= == != 逻辑运算符 &:逻辑 ...

  7. Golang - 复合类型

    目录 Golang - 复合类型 1. 指针 2. new()和make() 3. 数组 4. slice 5. Map 6. 结构体 7. 结构体参数 Golang - 复合类型 1. 指针 go语 ...

  8. 阿里云对象存储服务,OSS使用经验总结,图片存储,分页查询

    阿里云OSS-使用经验总结,存储,账号-权限,分页,缩略图,账号切换 最近项目中,需要使用云存储,最后选择了阿里云-对象存储服务OSS.总的来说,比较简单,但是仍然遇到了几个问题,需要总结下. 1.O ...

  9. jquery源码分析(二)——架构设计

    要学习一个库首先的理清它整体架构: 1.jQuery源码大致架构如下:(基于 jQuery 1.11 版本,共计8829行源码)(21,94)                定义了一些变量和函数jQu ...

  10. (13)处理静态资源(自定义资源映射)【从零开始学Spring Boot】

    上面我们介绍了Spring Boot 的默认资源映射,一般够用了,那我们如何自定义目录? 这些资源都是打包在jar包中的,然后实际应用中,我们还有很多资源是在管理系统中动态维护的,并不可能在程序包中, ...