Java基础9一面向对象
继承
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一面向对象的更多相关文章
- Java基础教程:面向对象编程[2]
Java基础教程:面向对象编程[2] 内容大纲 访问修饰符 四种访问修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. default ...
- Java基础教程:面向对象编程[1]
Java基础教程:面向对象编程 内容大纲 Java语言概述 Java语言特点 1.Java为纯面向对象的语言,它能够直接反映现实生活中的对象.总之,Everything is object! 2.平台 ...
- Java基础教程:面向对象编程[3]
Java基础教程:面向对象编程[3] 内容大纲 基础编程 获取用户输入 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入.我们可以查看Ja ...
- Java基础语法(9)-面向对象之类的成员
title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...
- Java基础语法(11)-面向对象之关键字
title: Java基础语法(11)-面向对象之关键字 blog: CSDN data: Java学习路线及视频 1.this this是什么 它在方法内部使用,即这个方法所属对象的引用: clas ...
- JAVA基础知识之面向对象编程知识汇总
JAVA基础课程部分面向对象已经学习完成,知识结构如下: 总体知识框架: 类的结构: 面向对象编程三大特征: 关键字和抽象类接口等: 常见知识汇总: 成员变量和局部变量比较 有无返回值方法比较: 权限 ...
- Java基础语法(10)-面向对象之三大特征
title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...
- Java基础一:面向对象的特征
经过16年校招,自己在Java基础方面也算有了一个质的飞跃,从原来知其然,到现在知其所以然,现将学习心得总结于此. 首先需要知道类和对象是什么? 维基百科定义类为: an extensible pro ...
- java基础学习05(面向对象基础01)
面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...
- java基础学习总结——面向对象2
一.JAVA类的定义
随机推荐
- MVC返回400 /404/...
return new HttpStatusCodeResult(HttpStatusCode.BadRequest); //HttpStatusCode statusCode 枚举 // HttpSt ...
- 深度遍历DFS
目录: https://zhipianxuan.github.io/ 一.树的DFS 二.二维矩阵的DFS 三.图的DFS 一.题目一:二维矩阵(输出所有路径数) 思路:从起点开始,DFS,直到走到终 ...
- 为 Elasticsearch 添加中文分词,对比分词器效果
转自:http://keenwon.com/1404.html 为 Elasticsearch 添加中文分词,对比分词器效果 Posted in 后端 By KeenWon On 2014年12月12 ...
- java的几种对象(PO,VO,DAO,BO,POJO)解释 (转)
java的几种对象(PO,VO,DAO,BO,POJO)解释 一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中 ...
- sqlalchemy根据表名动态创建model类
作用如题,直接上代码吧,另外还支持 copy一张表的表结构,新建表并获得model对象 # coding: utf-8 import traceback from sqlalchemy import ...
- jQuery源码分析 开篇(一)
解读一个开源框架,最终目的当然就是学习程序的设计思想和实现技巧. JavaScript宗旨就是Write Less, Do More,简洁的API,优雅的链式,强大的查询与便捷的操作都是我们喜欢他的原 ...
- EurekaLog是什么鬼?
D的all工程文件打开后,莫名其妙就处于等待打开状态.因为最后一次调整是安装了RO9.0.所以一直怀疑是RO的原因.再加上win7授权问题,安装RO一直不顺当.所以折腾的时间最多. 其他把RO全部卸载 ...
- 百度之星2014复赛 - 1001 - Find Numbers
先上题目: Find Numbers Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- 洛谷—— P2647 最大收益
https://www.luogu.org/problem/show?pid=2647 题目描述 现在你面前有n个物品,编号分别为1,2,3,……,n.你可以在这当中任意选择任意多个物品.其中第i个物 ...
- vue-自定义组件传
项目中,我们经常会遇到自定义组件传值的问题,方法很多种,但是原理很简单,下述文档总结实际项目中使用的传值方式. 父组件传递给子组件某一值,子组件内会修改该值,然后父组件需要获取新值 在 Vue 中 ...