Java基础知识➣面向对象(八)
概述
Java和C#都是面向对象语言,面向对象编程是目前高级语言习惯的编程模式,与C++编写过程编程而言,面向对象使用起来高效、灵活;面向对象的三个特征:封装、继承和多态。
Java面向对象
1、类封装:
在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的.class 子类 extends 父类{}.implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。
2、super 与 this :
super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。this关键字:指向自己的引用。
3、final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写。声明final的方法不能被重写。
4、构造器:
子类不能继承父类的构造器(构造方法或者构造函数),但是父类的构造器带有参数的,则必须在子类的构造器中显式地通过super关键字调用父类的构造器并配以适当的参数列表。
如果父类有无参构造器,则在子类的构造器中用super调用父类构造器不是必须的,如果没有使用super关键字,系统会自动调用父类的无参构造器。
5、方法重写和重载;
不像C# 使用OverWrite和virtual 之前调用转化;子类调用父类同名方法,需要使用super.方法名称
6、Java多态;
多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作。
多态的必要条件:继承、重写、父类引用指向子类对象;
多态的实现方式:重写、接口、抽象类和抽象方法;
7、抽象类和抽象方法:
抽象类和抽象方法都是使用abstract修饰。
public abstract class Employee { public abstract double computePay(); }
抽象类总结规定
1. 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。
2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
3. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。
4. 构造方法,类方法(用static修饰的方法)不能声明为抽象方法。
5. 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。
8、接口:
接口通过implements实现接口继承。一个类可以继承多个接口。一个接口可以继承多个接口。一个类只可以继承一个父类。
标记接口:
最常用的继承接口是没有包含任何方法的接口。
标识接口是没有任何方法和属性的接口.它仅仅表明它的类属于一个特定的类型,供其他代码来测试允许做一些事情。
标识接口作用:简单形象的说就是给某个对象打个标(盖个戳),使对象拥有某个或某些特权。
标记接口主要用于以下两种目的:
建立一个公共的父接口、向一个类添加数据类型
9、包:
Java 提供了包机制,用于区别类名的命名空间;
包的作用
1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
import 关键字,导入该包;生成java结尾源文件,class生成调用问题;类似dll和.class文件一样;
10、补充知识
wind系统下修改和查看JavaClassPath的方式:cmd--set calsspath
转载于:https://www.cnblogs.com/xibei666/p/6502857.html
Java基础知识➣面向对象(八)相关推荐
- java基础知识——面向对象基本概念
文章目录 Java基本概念 源文件声明规则 Java包 Import语句 继承类型 继承的特性 继承关键字 super 与 this 关键字 构造器 方法的重写规则 重载(Overload) 重写与重 ...
- Java基础知识(二) 面向对象的技术
Java基础知识 面向对象的技术 1. 面向对象与面向过程有什么区别 2. 面向对象有哪些特征 3. 什么是继承 4. 组合和继承的区别 5. 多态的实现机制 6. 重载和覆盖有什么区别 7. 抽象类 ...
- Android开发必须掌握的Java基础知识和常见面试题
Java基础知识 面向对象特征 基本数据类型及装箱拆箱机制 String StringBuffer StringBuild final finally finalize 区别 static关键字 重写 ...
- JAVA基础知识(四)面向对象基础
文章目录 JAVA基础知识(四)面向对象基础 1. 类 2. 访问权限修饰符 3. `static`修饰符 3.1 静态代码块 4. `new`一个对象 5. 方法 5.1 `this` 5.2 方法 ...
- Java基础知识(八) Java平台与内存管理
Java基础知识 1. 为什么说Java是平台独立性语言 2. Java 平台与此他语言平台有哪些区别 3. JVM 加载 class 文件的原理机制是什么 4. 什么是GC 5. Java 是否存在 ...
- Java基础知识复习(一)
Java基础知识复习(一) 目录 Java简介 命名规则 八种基本的数据类型 字面量 类型转换 变量的形态 逻辑运算符 位运算 移位运算 习题知识点 目录 Java简介 Java是由Sun公司在199 ...
- java(5)---Java基础知识大全
Java基础知识大全 一.基础知识: 1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...
- Java基础知识(二)(Object类的常用方法、日期时间类、System类、StringBuilder类、包装类、Collection集合、Iterator迭代器、泛型、list集Set接口...)
文章目录 Java基础知识(二) 1.Object类的常用方法 1.1 toString方法 1.2 equals方法 1.3 Objects类 2.日期时间类 2.1 Date类 2.2 DateF ...
- 自用的快速复习Java基础知识,不适用于每一个人
自用的快速复习java基础知识,不适用于每一个人 问题背景 1. 类定义出来的变量称为**对象** [IDEA安装](https://www.jb51.net/article/193853.htm) ...
最新文章
- 某程序员哀叹工资低:二本计算机毕业,四年前端开发,年包才四十万!薪资真的和学历挂钩吗?...
- loadClass和forName 的区别
- tensorflow中GPU的设置
- iOS开发那些事-Git在Xcode中的配置与使用
- 说你又不听,听你又不懂,懂你又不做,做你又做错,错你又不认,认你又不改,改又不服,不服也不说
- 小程序分享如何自定义封面?
- 召回率(Recall),精确率(Precision),交除并(Intersection-over-Union(IoU)
- ​CSDN疯狂盲盒来啦!iPhone 12、机械键盘、Switch等你来拿!
- 谷歌推Tacotron 2,搞定绕口令,效果优于WaveNet
- UWA TIPS:让你的项目更懂你!
- SharePoint Designer 2010中的外部内容类型-SQL Server
- 第七章软件项目资源管理
- 苹果手机长截屏_发现一个手机必备软件
- airtest 多设备同时运行_AirTest多设备批量运行测试用例并自动生成测试报告
- HACKTHEBOX——Starting Point Tier0
- 圣光照耀联盟—PostgreSQL临时表的创建与使用过程
- 全基因组选择中准确性的影响因素
- windows下gfortran编译error:Note: The following floating-point exceptions are signalling: IEEE_UNDERFLOW
- 4.5.2 地址变换机构 4.5.3 访问内存的有效时间
- 北航软件能力培养启发和下一步工作