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* ...
随机推荐
- 没有Hyper-V服务,WP Emulator无法启动
解决: 打开管理工具
- LINQ系列:LINQ to XML类
LINQ to XML由System.Xml.Linq namespace实现,该namespace包含处理XML时用到的所有类.在使用LINQ to XML时需要添加System.Xml.Linq. ...
- C#设计模式系列:适配器模式(Adapter)
在实际的软件系统设计和开发中,为了完成某项工作需要购买一个第三方的库来加快开发.这带来一个问题,在应用程序中已经设计好的功能接口,与这个第三方提供的接口不一致.为了使得这些接口不兼容的类可以在一起工作 ...
- C#设计模式系列:访问者模式(Visitor)
1.访问者模式简介 1.1>.定义 作用于某个对象群中各个对象的操作,可以使在不改变对象本身的情况下,定义作用于对象的新操作. 1.2>.使用频率 低 2.访问者模式结构 2.1> ...
- 【Win10 应用开发】解决VS 2015 RC不能调试手机应用的问题
VS2015 RC已发布,当然这个版本还不能用于实际生产中,如果你没有测试环境,就等正式版出来,RC都来了,RTM就不远了. 如果你也像老周一样,已经在耍RC版了,你可能会遇到下面问题: 安装Win ...
- 计算程序总行数的Python代码
最近需要统计一下项目中代码的总行数,写了一个Python小程序,不得不说Python是多么的简洁,如果用Java写至少是现在代码的2倍. import os path="/Users/ron ...
- [java] 更好的书写equals方法-汇率换算器的实现(4)
[java] 更好的书写equals方法-汇率换算器的实现(4) // */ // ]]> [java] 更好的书写equals方法-汇率换算器的实现(4) Table of Content ...
- 对于Fragment的一些理解
前言 Fragment想必大家不陌生吧,在日常开发中,对于Fragment的使用也很频繁,现在主流的APP中,基本的架构也都是一个主页,然后每个Tab项用Fragment做布局,不同选项做切换,使用起 ...
- .NET环境下基于RBAC的访问控制
.NET环境下基于RBAC的访问控制 Access Control of Application Based on RBAC model in .NET Environment 摘 要:本文从目前信息 ...
- jquery实现tab切换完整代码
代码如下,保存到html文件打开: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...