java oop 基础
1.如果将一个类打包,使用该类的时候,必须使用该类的全名,java编译器才能找到。
2.也可以使用import 导入这个包。
3.可以不需要import语句 直接使用 java.lang包中的类。
4.权限修饰符java中一共有四个: private,default ,protected,public. 修饰符置于类的成员定义前,用来限定其他对象对该类对象成员的访问权限。
| 修饰符 | 类内部 | 同一个包 | 子类 | 任何地方 |
|---|---|---|---|---|
| private | Yes | |||
| default | Yes | Yes | ||
| protected | Yes | Yes | Yes | |
| public | Yes | Yes | Yes | Yes |
对于class的权限修饰只可以用 public 和default。
public类可以在任意地方被访问
default类只可以被同一个包内部的类访问
java中使用 extends关键字实现类的继承机制。通过继承,子类自动拥有了基类(superclass)的所有成员(成员变量和方法)。
java只支持单继承,不允许多继承:一个子类只能有 一个基类,一个基类可以派生多个子类。
子类的构造过程中必须调用基类的构造方法。
子类可以再自己的构造方法中使用 super(argument_list)调用基类的构造方法。
使用this(argument_list)调用本类的另外的构造方法。
如果调用super,必须写在子类构造方法的第一行。
如果子类的构造方法中没有显式调用基类构造方法,则系统默认调用基类无参数的构造方法。
如果子类构造方法中既没有显式调用基类构造方法,而基类中又没有无参的构造方法,编译出错。
9.Object类中定义有
public boolean equals(Object obj)方法,提供定义对象是否“相等”的逻辑。方法定义为 x.equals(y),当x和y所引用的对象是同一个对象的引用时返回true否则返回false。10.j2sdk提供的一些类,如String Date等,重写了Object的equals方法,调用这些类的 equals方法,当引用的对象是同一类对象且属性内容相等时(并不一定是相同对象)返回true,否则返回false。
11.可以根据需要在用户自定义类型中重写equals方法。
12.对象转型
一个基类的引用类型变量可以“指向”其子类的对象。
一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。
可以使用
引用变量 instanceof 类名来判断该引用型变量所“指向”的对象是否属于该类或该类的子类。子类的对象可以当作基类的对象来使用称作 向上转型,反之称为向下转型。
13.多态的必要条件:
1.要有继承
2.要有重写
3.父类引用指向子类对象
14.用abstract修饰的类叫抽象类,修饰的方法叫抽象方法。
含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。 抽象类不能被实例化。 抽象方法只需声明 不需要实现。final的变量的值不能被改变(final的成员变量、final的局部变量(形参)),final的方法不能被重写,final的类 不能被继承。
16.接口 :多个无关的类可以实现同一个接口。一个类可以实现多个无关的接口。
与继承关系类似,接口与实现类之间存在多态性。 接口是抽象方法和常量值定义的集合。
从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
17.接口里声明的舒兴国默认为 public static final,也只能是 public static final的。接口中只能定义抽象方法,而且这些方法默认是public的 ,也只能是public的。接口可以继承其他接口,并添加新的属性和抽象方法。
java oop 基础的更多相关文章
- JAVA OOP 基础知识提纲
OOP: 面向对象: 认识事物的一个过程,是整体(特征/行为) 认识事物的方式.人类认识事物的自然思维习惯. 对象及类 对象是实实在在具体存在的东西,主要是从两个角度(行为,特征)去观察 类:是一组具 ...
- 【重走Android之路】【Java面向对象基础(三)】面向对象思想
[重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinkin ...
- 面向对象(OOP)--OOP基础与this指向详解
前 言 学过程序语言的都知道,我们的程序语言进化是从“面向机器”.到“面向过程”.再到“面向对象”一步步的发展而来.类似于汇编语言这样的面向机器的语言,随着时代的发展已经逐 ...
- Java工程师 基础+实战 完整路线图(详解版)
Java工程师 基础+实战 完整路线图(详解版) Java 基础 Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 oop 特性:封装.继承.多态.此外还有泛型.反射 ...
- java继承基础详解
java继承基础详解 继承是一种由已存在的类型创建一个或多个子类的机制,即在现有类的基础上构建子类. 在java中使用关键字extends表示继承关系. 基本语法结构: 访问控制符 class 子类名 ...
- java封装基础详解
java封装基础详解 java的封装性即是信息隐藏,把对象的属性和行为结合成一个相同的独立单体,并尽可能地隐藏对象的内部细节. 封装的特性是对属性来讲的. 封装的目标就是要实现软件部件的"高 ...
- Java以基础类库
Java以基础类库JFC(Java Foundation Class)的形式为程序员提供编程接口API,类库中的类按照用途归属于不同的包中. (一)java.lang包 Java最常用的包都属于该包, ...
- Java SE 基础:注释
Java SE 基础:注释 一.注释定义 用于解释说明程序的文字. 二.注释的作用 1.解释说明程序,提高程序的可读性 2.可以帮助我们调试程序:通过注释代码块,检测错误位置 三.格式 1.单行注释 ...
- Java SE 基础:标识(zhì)符
Java SE 基础:标识(zhì)符 一.标识符定义 标识符,就是给类.接口.方法.变量等起名字时的字符序列 二.组成规则与注意事项 1.组成规则 英文大小写字母 数组 $ 和 _ 2.注意事项 不 ...
随机推荐
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_21-页面静态化-静态化测试-静态化程序编写
public String getPageHtml(String pageId){ /** * 静态化程序获取页面的DataUrl * * 静态化程序远程请求DataUrl获取数据模型 * * 静态化 ...
- python中星号变量的几种特殊用法
python中星号变量的几种特殊用法 不知道大家知不知道在Python中,星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入 ...
- Masonry问题
1. Masonry的布局问题: 参考博客: https://github.com/huang303513/UILayoutOfiOS 2. Masonry的自适应行高问题: 参考博客:https:/ ...
- js 高级程序设计 第三章学习笔记——Number数据类型需要注意的事项
1.浮点数值 虽然小数点前面可以没有整数,但是并不推荐这种写法. 由于保存浮点数值需要的内存空间是保存整数值的两倍,因此ECMAScript会不失时机地将浮点数值转化为整数数值.显然,如果小数点后面没 ...
- Docker存储容易忽略的使用细节
一.Docker容器使用前其实有个非常重要的步骤就是规划好部署的磁盘区域,因为docker容器默认存储的路径是在/var/lib/docker的根目录内,随着使用时间越长部署的内容越多,基本的根目录的 ...
- c++学习笔记_2
前言:本笔记所对应的课程为中国大学mooc中北京大学的程序设计与算法(三)C++面向对象程序设计,主要供自己复习使用,且本笔记建立在会使用c和java的基础上,只针对与c和java的不同来写 第二章 ...
- JavaScript 短路值
了解表达式中的短路值. 逻辑运算从左到右.逻辑或运算,当左边的条件成立时,后面的条件将不再参与运算.因此在逻辑或运算中,尽量将条件结果为true的放第一位.而在逻辑与运算中,尽量将条件结果为false ...
- 修改ssh登录的初始目录
目录 修改ssh登录的初始目录 title: 修改ssh登录的初始目录 date: 2019/11/27 20:18:27 toc: true --- 修改ssh登录的初始目录 /etc/passwd ...
- python搞搞大数据之hbase——初探
使用python链接mysql读入一个表并把它再写到hbase 里去(九头蛇万岁) 先声明一下需要用的库: 俩!!: happybase (写这个的老哥真的happy) pymysql 建议使用 ...
- SQLite进阶-15.触发器
目录 触发器(Trigger) 触发器(Trigger)的要点: 触发器应用 查看触发器 删除触发器 触发器(Trigger) 触发器(Trigger)是数据库的回调函数,它会在指定的数据库事件发生时 ...