1、面向对象编程:

面向对象编程的语言不止java一种,还有:

simula 67(第一个面向对象语言,支持单继承和一定含义的多态和部分动态绑定);

Smalltalk(第一个支持动态类型的语言,支持单继承、多态和动态绑定);

EIFFEL(支持多继承、多态和动态绑定);

C++(它的大部分基于类的特性继承自Simula。支持多继承、多态和部分动态绑定);

C#(也支持单继承,与Java和C++等有很多类似之处);

Python( [ˈpaɪθən]是一种解释型、面向对象、动态数据类型的高级程序设计语言);
Ruby (日本人开发的,是一种开源的面向对象程序设计的服务器端脚本语言);
Scala(是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。运行在java虚拟机上)

面向过程编程语言的典型代表:c语言。

不管是面向对象还是面向过程,都是将现实世界抽象出来,为了解决问题而形成的思维系统。

面向过程是指,我们考虑问题时,以一个具体的流程(事务过程)为单位,考虑它的实现:

面向对象是指,我们考虑问题时,以对象为单位,考虑它的属性及方法:

2、java类:

java类将属性和方法封装起来,一切都依赖于类及对象才可以实现调用。里面又分为普通类,抽象类和接口:

①接口:

1、接口中定义方法和属性;

不能有构造器,不能实例化
可继承多个接口,可以用abstract修饰
2、方法只有声明,没有方法体;
3、属性默认为public static fianl的,且必须有初始化值;
4、java8中可以定义普通方法,也可以在接口中定义一个内部类,在内部类中定义普通方法

②抽象类:

1、抽象类定义方法和属性;
可以有构造方法,不能实例化
2、抽象类可以继承抽象类,且只能继承一个;
抽象类也可以继承一个普通类;
3、可以定义普通方法,但必须有方法体;
4、属性可以没有初始化值
③普通类:
1、普通类可以继承普通类,
且只能继承一个普通类;
2、普通类可以被抽象类继承;
3、普通类能同时实现多个接口

基础语法强调理解,后面需要深刻理解面向接口编程思想。小编也会在后面单独写一篇关于接口的总结。

java普通类、抽象类、接口、面向对象理解的更多相关文章

  1. Java常用类、接口关系图谱

    呕心沥血画出此图,希望在使用Java类.接口时捋顺其关系,从而更好的组织程序逻辑---请看图 Object分出来的类都是其子类 Iterable接口分出的也是子接口 从继承关系分析,其父类实现的接口子 ...

  2. Java基础——类与接口

    一.类与接口的关系 1.类与类的关系 继承关系,只能单继承,不能多继承:但是可以多层继承 2.类与接口的关系 实现关系,可以单实现,也可以多实现,还可以继承一个类的同时实现多个接口 3.接口与接口的关 ...

  3. 10-01 Java 类,抽象类,接口的综合小练习--运动员和教练

    运动员和教练的案例分析 运动运和教练的案例 代码实现 /* 教练和运动员案例 乒乓球运动员和篮球运动员. 乒乓球教练和篮球教练. 为了出国交流,跟乒乓球相关的人员都需要学习英语. 请用所学知识: 分析 ...

  4. java 继承类与接口问题

    java 先extends 继承类,再implements 继承接口 public class DataBase extends ClassBase implements Ijiekou { }// ...

  5. Effective java -- 3 类和接口

    第十三条:使类和成员的可访问性最小化 一个设计良好的模块会将实现细节隐藏起来,只将暴露API.模块之间调用并不知道对象的细节.这个概念成为信息隐藏或封装.要注意一点,设计的一个方法或者其他什么,只要不 ...

  6. Java学习笔记 抽象类 接口 多态

    instanceof 对象名 instanceof 类名 该对象是否属于该类 Animal animal = new Dog(); if(animal instanceof Dog){ Dog d = ...

  7. JAVA笔记6__抽象类/接口/多态/instanceof关键字、父类设计法则

    /** * 抽象类:很多具有相同特征和行为的类可以抽象为一个抽象类 * 1.抽象类可以没有抽象方法,有抽象方法的类必须是抽象类 * 2.非抽象类继承抽象类必须实现抽象方法[可以是空实现] * 3.抽象 ...

  8. java流类、、、理解不够,流太多不知怎么用好?

    总结:输入流.输出流..子类多.需要加强: package com.da; import java.io.*; public class rtr { public static void main(S ...

  9. 论java虚拟类和接口的区别

    如题:Abstract使数据成员虚拟化,而Interface则使方法成员虚拟化.

  10. java类,接口浅谈

    一般类,抽象类,接口的使用场景: 类;共同的特征和行为的抽取和封装 接口:标准,规范(功能的扩展)         需要对某个类进行功能的扩展,就让某个类实现这个接口,抽取出来称为接口   内部类: ...

随机推荐

  1. Rails-Treasure chest1 (自定义Model网址;多语言包; 时区设置, TimeZone类; 格式日期时间; 表单单选UI; 表单多选UI;Select2 Plugin)

    自定义Model网址: 随机值网址SecureRandom.base58 多语言包, 包括默认语言设置和user自设置. 时区设置, TimeZone类 ,增加user自选时区功能 格式日期时间: x ...

  2. 去掉Firefox的标题栏

    Linux Mint里,火狐的标题栏很不美观,不过火狐可是出名的的“可定制”,Hide Caption扩展拖拖地满足你的要求,简直不能再好! 献上链接: https://addons.mozilla. ...

  3. Invalid bound statement (not found)错误的可能原因

    其他原因导致此问题解决参考: 1.检查xml文件所在package名称是否和Mapper interface所在的包名 <mapper namespace="me.tspace.pm. ...

  4. createjs记录坑

    1.使用preloadjs加载资源: manifest = [ {src: "block.png", id: "ground"}, {src: "re ...

  5. Eclipse CDT 配置C /C ++ 标准库 (UBUNTU 12 )

    http://blog.csdn.net/wudiwo/article/details/7682320

  6. Linux中查看进程和杀掉进程

    ps -A查看正在运行的所有进程 kill -9 xxx杀掉某个进程,xxx为进程ID.

  7. HDU 1029 基础dp

    题目链接:Ignatius and the Princess IV 大意:就是在N个数里找出唯一一个至少出现过(N+1)/ 2 次的数. 1 <= N <= 999999. hash: / ...

  8. iOS导航栏的正确隐藏方式

    在项目中经常碰到首页顶部是无限轮播,需要靠最上面显示.有的设置导航栏为透明等一系列的方法,这个可以借助第三方.或者干脆简单粗暴的直接隐藏掉导航栏.可是push到下一个页面的时候是需要导航栏的,如何做了 ...

  9. 『转』G Data InternetSecurity 2014 – 免费3个月

    G Data来自德国的顶级杀毒软件,采用BitDefender+CloseGap双引擎,屡获AV-TEST防護率100%.不多介绍,目前2014中文版没有上市.活动地址:点此进入官方网站:点此进入申请 ...

  10. SocketServer模块 《Python核心编程(第3版)》——2.5

    本文内容参考文章地址: https://m.aliyun.com/yunqi/articles/93088/ SocketServer模块 SocketServer是标准库中的一个高级模块(Pytho ...