Java语言面向对象的一些基本特点
封装
1、 面向对象语言使用class封装属性和方法。
2、 属性一般要求定义为private,封装保护
继承。
继承的例子随处可见。需要符合is-a关系,父类更加通用,子类更加具体。。
在子类中使用super关键字:
1、调用父类的构造方法使用super
2、在子类中可以使用super调用父类中方法
多态:
1、 开闭原则:能够添加新的代码而不是修改原有代码来使用需求的变更。对修改关闭,对增加开放。
2、 子类可以无条件的给父类赋值。
多态的实现方式:
1、普通类
2、抽象类
3、接口(推荐);
Java的构造方法理解:
Java构造方法是Java类中的一个比较特殊的方法,特殊在以下几点:
1、 该方法一定与类同名,
2、 该方法没有返回值(void也不行)
3、 该方法不能手工调用,在创建类的实例的时候被系统自动调用
4、 一个类可以没有自定的构造方法,它将使用系统的隐式午餐构造方法,也可以自定义多个构造方法,他们之间构成重载,可以相互调用。
5、 如果自定了有参构造函数,将会评比系统默认的无参构造函数
6、 构造方法不能被继承,决定了他不能重写,直接子类调用父类方法,使用super关键字。
Java中的接口与抽象类
1、 接口中的方法和属性必须是public
2、 方法特征的集合,但是没有方法的实现。
3、 一个类可以实现一个或多个接口,只可以继承一个类
4、 接口没有方法实现,不能达到复用的目的。为了达到复用的目的,可以使用抽象类,
抽象类的特点;
1、 不可实例化,与接口一致,都不可以实例化。
2、 接口中只可以定义常量和抽象方法,抽象类与普通类的不通知仅在于其中存在有抽象方法,,继承与抽象类必须实现被继承类中的抽象方法。
3、 抽象类是一个未定义完整的类。其中的抽象方法将会延迟到子类去实现
4、 抽象类+子类实现的抽象防范 == 完整的类,
几个简单的问答:
1、 一个抽象类可不可以没有抽象方法、 可以,他可以和一个完整的类一样,但是这样就失去了抽象类存在的意义
2、 可以有多个抽象方法,抽象方法一定不能有实现。
3、 一个普通类中是否可以包含抽象方法? 当然不可以,若有,将会变成抽象类
4、 抽象类的子类一定要实现抽象类中的抽象方法,不一定对,其子类可以为抽象类,
5、 接口的实现类一定要实现接口中多定义的方法吗?如果接口的实现类没有实现接口中抽象方法、其必须为抽象类
6、 接口是可以继承的。
Java语言面向对象的一些基本特点的更多相关文章
- 2018.3.5 Java语言基础与面向对象编程实践
Java语言基础与面向对象编程实践 第一章 初识Java 1.Java特点 http://www.manew.com/blog-166576-20164.html Java语言面向对象的 Java语言 ...
- Java语言中的面向对象特性总结
Java语言中的面向对象特性 (总结得不错) [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知 ...
- 关于Java语言和面向对象记录
本科时常用的c语言是面向过程的语言,而Java是面向对象的语言 Java语言的11个关键术语 简单性.可移植性.面向对象.分布式.高性能.解释型.健壮性.多线程.安全性.动态性.体系结构中立 面向对象 ...
- [java学习笔记]java语言核心----面向对象之this关键字
一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理: 代表的是当前对象. this就是所在函数 ...
- [java学习笔记]java语言核心----面向对象基础
1.面向对象概述 面向对象是java语言的核心.是对应于面向过程而言的. 面向过程:强调的是过程,即动作.在java中动作就是函数.C语言就是面向过程的. 如:把大象装进冰箱需要几步? 答:需要三步: ...
- Java语言中的面向对象特性
面向对象的基本特征 1.封装性 封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义: ◇ 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位( ...
- 第二十五节:Java语言基础-面向对象基础
面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基 ...
- Java语言中的面向对象特性:封装、继承、多态,面向对象的基本思想(总结得不错)
Java语言中的面向对象特性(总结得不错) [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知道jav ...
- 已看1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。[泛型]\
1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架.多线程(并发编程).I/O(NIO).Socket.JDBC.XML.反射等.[泛型]\1* ...
随机推荐
- Latch2:Latch和性能
1,数据的IO操作 SQL Server访问的任何一个Page必须存在于内存中,如果不存在于内存中,那么SQL Server发出 Disk IO请求,将数据页从Disk读取到内存中,然后SQL Ser ...
- SQL Server 2014新特性探秘(2)-SSD Buffer Pool Extension
简介 SQL Server 2014中另一个非常好的功能是,可以将SSD虚拟成内存的一部分,来供SQL Server数据页缓冲区使用.通过使用SSD来扩展Buffer-Pool,可以使得大量随 ...
- Hibernate学习之hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hi ...
- .Net 转战 Android 4.4 日常笔记(8)--常见事件响应及实现方式
在Andrioid开发中,常见的事件如下 单击事件 OnClickListener 长按事件 OnLongClickListener 滑动事件 OnTouchListenner 键盘事件 OnKeyL ...
- jQuery源码 Ajax模块分析
写在前面: 先讲讲ajax中的相关函数,然后结合函数功能来具体分析源代码. 相关函数: >>ajax全局事件处理程序 .ajaxStart(handler) 注册一个ajaxStart事件 ...
- bootstrap 学习总结
Bootstrap 是最受欢迎的 HTML.CSS 和 JS 框架,用于开发响应式布局.移动设备优先的 WEB 项目.当前最新版本是3.2.0; 使用的第一步,可以直接复制官方的模版,另存为index ...
- MongoDB碎碎念
1. 如何从备份节点读取数据 默认是不允许的,会报如下错误: testReplSet:SECONDARY> show dbs --19T10:: E QUERY [thread1] Error: ...
- How to implement a neural network
神经网络的实践笔记 link: http://peterroelants.github.io/posts/neural_network_implementation_part01/ 1. 生成训练数据 ...
- c 语言的位运算符复习
转载和修正,原文连接:http://www.cnblogs.com/911/archive/2008/05/20/1203477.html 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进 ...
- C语言 第四章 关系、逻辑运算与分支流程控制
一.关系运算 若干表达式用关系运算符连接而成,就构成关系表达式. 关系表达式中,表达式成立,其值为1(真):表达式不成立,其值为0(假).其他表达式中,其结果如果是非0则为真,结果为0则为假. 关系运 ...