java普通类、抽象类、接口、面向对象理解
1、面向对象编程:
面向对象编程的语言不止java一种,还有:
simula 67(第一个面向对象语言,支持单继承和一定含义的多态和部分动态绑定);
Smalltalk(第一个支持动态类型的语言,支持单继承、多态和动态绑定);
EIFFEL(支持多继承、多态和动态绑定);
C++(它的大部分基于类的特性继承自Simula。支持多继承、多态和部分动态绑定);
C#(也支持单继承,与Java和C++等有很多类似之处);
面向过程编程语言的典型代表:c语言。
不管是面向对象还是面向过程,都是将现实世界抽象出来,为了解决问题而形成的思维系统。
面向过程是指,我们考虑问题时,以一个具体的流程(事务过程)为单位,考虑它的实现:
面向对象是指,我们考虑问题时,以对象为单位,考虑它的属性及方法:
2、java类:
java类将属性和方法封装起来,一切都依赖于类及对象才可以实现调用。里面又分为普通类,抽象类和接口:
①接口:
1、接口中定义方法和属性;
可继承多个接口,可以用abstract修饰
2、方法只有声明,没有方法体;
3、属性默认为public static fianl的,且必须有初始化值;
4、java8中可以定义普通方法,也可以在接口中定义一个内部类,在内部类中定义普通方法
②抽象类:
可以有构造方法,不能实例化
2、抽象类可以继承抽象类,且只能继承一个;
抽象类也可以继承一个普通类;
3、可以定义普通方法,但必须有方法体;
4、属性可以没有初始化值
③普通类:
且只能继承一个普通类;
2、普通类可以被抽象类继承;
3、普通类能同时实现多个接口
基础语法强调理解,后面需要深刻理解面向接口编程思想。小编也会在后面单独写一篇关于接口的总结。
java普通类、抽象类、接口、面向对象理解的更多相关文章
- Java常用类、接口关系图谱
呕心沥血画出此图,希望在使用Java类.接口时捋顺其关系,从而更好的组织程序逻辑---请看图 Object分出来的类都是其子类 Iterable接口分出的也是子接口 从继承关系分析,其父类实现的接口子 ...
- Java基础——类与接口
一.类与接口的关系 1.类与类的关系 继承关系,只能单继承,不能多继承:但是可以多层继承 2.类与接口的关系 实现关系,可以单实现,也可以多实现,还可以继承一个类的同时实现多个接口 3.接口与接口的关 ...
- 10-01 Java 类,抽象类,接口的综合小练习--运动员和教练
运动员和教练的案例分析 运动运和教练的案例 代码实现 /* 教练和运动员案例 乒乓球运动员和篮球运动员. 乒乓球教练和篮球教练. 为了出国交流,跟乒乓球相关的人员都需要学习英语. 请用所学知识: 分析 ...
- java 继承类与接口问题
java 先extends 继承类,再implements 继承接口 public class DataBase extends ClassBase implements Ijiekou { }// ...
- Effective java -- 3 类和接口
第十三条:使类和成员的可访问性最小化 一个设计良好的模块会将实现细节隐藏起来,只将暴露API.模块之间调用并不知道对象的细节.这个概念成为信息隐藏或封装.要注意一点,设计的一个方法或者其他什么,只要不 ...
- Java学习笔记 抽象类 接口 多态
instanceof 对象名 instanceof 类名 该对象是否属于该类 Animal animal = new Dog(); if(animal instanceof Dog){ Dog d = ...
- JAVA笔记6__抽象类/接口/多态/instanceof关键字、父类设计法则
/** * 抽象类:很多具有相同特征和行为的类可以抽象为一个抽象类 * 1.抽象类可以没有抽象方法,有抽象方法的类必须是抽象类 * 2.非抽象类继承抽象类必须实现抽象方法[可以是空实现] * 3.抽象 ...
- java流类、、、理解不够,流太多不知怎么用好?
总结:输入流.输出流..子类多.需要加强: package com.da; import java.io.*; public class rtr { public static void main(S ...
- 论java虚拟类和接口的区别
如题:Abstract使数据成员虚拟化,而Interface则使方法成员虚拟化.
- java类,接口浅谈
一般类,抽象类,接口的使用场景: 类;共同的特征和行为的抽取和封装 接口:标准,规范(功能的扩展) 需要对某个类进行功能的扩展,就让某个类实现这个接口,抽取出来称为接口 内部类: ...
随机推荐
- CF 483B. Friends and Presents 数学 (二分) 难度:1
B. Friends and Presents time limit per test 1 second memory limit per test 256 megabytes input stand ...
- 谈一谈手机WebApp的fixed属性(手机上的固定栏)【转】
1.iphone/android原生app常见结构 似乎,所有的手机应用,都遵循这样的布局:固定的顶部+固定的底部+可滚动在中间区域.这种“雷同”的模式让人恶心,却不得不承认这是一种很规矩却又很实用的 ...
- java远程下载文件到本地
方法一 ** * 下载远程文件并保存到本地 * * @param remoteFilePath-远程文件路径 * @param localFilePath-本地文件路径(带文件名) */ public ...
- js 验证手机号码
js 验证手机号码 //验证手机号 function isMobel(value) { if (/^1[3-8]+\d{9}$/g.test(value)) { ...
- BZOJ2935: [Poi1999]原始生物(欧拉回路)
2935: [Poi1999]原始生物 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 150 Solved: 71[Submit][Status][D ...
- IO综合练习--文件切割和文件合并
有时候一个视频文件或系统文件太大了,上传和下载可能会受到限制,这时可以用文件切割器把文件按大小切分为文件碎片, 等到要使用这个文件了,再把文件碎片合并成原来的文件即可.下面的代码实现了文件切割和文件合 ...
- WinSCP一个好用的连接linux服务器的
用虚拟机ssh登陆远程服务器,终端命令copy本地文件到服务器简直弱爆了. 不然用win下的WinSCP,牛逼到爆了.操作跟FTP软件差不多
- Mysql5.6 buffer_pool预热功能
通常在mysql重启服务后,需要通过手工执行SQL来预热buffer_pool,在mysql5.6中,有如下参数可以无需人工干预. innodb_buffer_pool_dump_at_shutdow ...
- mysql master master slave 环境搭建
master1:192.168.128.47 master2:192.168.128.96 slave:192.168.128.97 master1与master2互备,master2作为slav ...
- 【转】ubuntu 12.04 下 Vim 插件 YouCompleteMe 的安装
原文网址:http://www.cnblogs.com/jostree/p/4137402.html 作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree ...