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* ...
随机推荐
- Nokia 920板砖自救(理论上通用,升级Win10成板砖也可以用这个恢复)
异常处理汇总 ~ 修正果带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4599258.html 个人博客:http://dnt.dkill.net 下载下 ...
- Web APi之EntityFramework【CRUD】(三)
前言 之前我们系统学习了EntityFramework,个人觉得有些东西不能学了就算完了,必须要学以致用,在Web API上也少不了增(C).删(D).改(U).查(R).鉴于此,我们通过EF来实现W ...
- MySQL学习笔记十一:数据导入与导出
数据导入 1.mysqlimport命令行导入数据 在使用mysqlimport命令导入数据时,数据来源文件名要和目标表一致,不想改文件名的话,可以复制一份创建临时文件,示例如下. 建立一个文本use ...
- 跨语言和跨编译器的那些坑(CPython vs IronPython)
代码是宝贵的,世界上最郁闷的事情,便是写好的代码,还要在另外的平台上重写一次,或是同时维护功能相同的两套代码.所以才需要跨平台. 不仅如此,比如有人会吐槽Python的原生解释器CPython跑得太慢 ...
- iOS开发使用半透明模糊效果方法整理
虽然iOS很早就支持使用模糊效果对图片等进行处理,但尤其在iOS7以后,半透明模糊效果得到大范围广泛使用.包括今年最新发布的iOS8也沿袭了这一设计,甚至在OS X 10.10版Yosemite中也开 ...
- PHP面试题目搜集
搜集这些题目是想在学习PHP方面知识有更感性的认识,单纯看书的话会很容易看后就忘记. 曾经看过数据结构.设计模式.HTTP等方面的书籍,但是基本看完后就是看完了,没有然后了,随着时间的推移,也就渐渐忘 ...
- Java:IDEA下使用JUNIT
JUnit单元测试--IntelliJ IDEA (本文转载自华行天下) 单元测试的基本使用 一.环境配置 使用idea IDE 进行单元测试,首先需要安装JUnit 插件. 1.安装JUnit插件步 ...
- ZOJ Problem Set - 1216 Deck
#include <stdio.h> int main() { ]; double t=2.0; table[]=0.5; ;i<;i++) { t+=; table[i]=tabl ...
- 用jquery实现抽奖小程序
用jquery实现抽奖小程序 这些日子,到处都可以看到关于微信小程序的新闻或报到,在博客园中写关于微信小程序的也不少.但是今天我要说的不是微信小程序,而是用简单的jquery写的一个好玩的抽奖小程序. ...
- CSS魔法堂:重拾Border之——更广阔的遐想
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...