java面向对象的思想(J2SE入门4)

java面向对象的思想(J2SE入门4)

anything is Object(万物皆对象)

抽象,从对具体的对象中抽取有用信息。
对象有其固有属性,对象的方法,即对象的行为(对象能做什么)
对象本身是简单的(功能简单),多个对象可以组成复杂的系统(对象之间彼此调用对方的方法)

对象应当是各司其职(功能简单),各尽所能(把自己的功能作到最好)。(弱耦合性实现了前面所述的对象的特点)

对象的耦合性,是对象之间的联系,对象和系统之间的联系。对象的耦合性要尽量的弱,也就是对象之间的联系尽可能的弱,对象和系统之间的联系尽可能的弱。
系统的可插入性,是在系统中加入新的对象之后的系统稳定性。
对象的可替换性,是在系统中替换原有的对象之后的系统的稳定性。
复用性,即对象可否被重复使用,对象的功能越简单,复用性就越好。(对象的耦合性弱,复用性就比较强)

面向过程是先有算法,后又数据结构(怎么解决问题)
面向对象是先有对象(数据结构),后有算法。(用什么做)

类是某些有着相同属性的集合的抽象。
类是一个类对象的模板,对象是类的具体化。
类是一个新的数据类型,类的对象。

注意:局部变量的作用范围是在定义他的代码块以内,局部变量要先赋值后使用,在以一个重合的作用于范围内不允许两个局部变量命名冲突。局部变量局部优先,且在于实例变量同名时会副该局部变量。

变量 包括简单变量(原始数据类型),对象变量。

方法的定义:
1,方法的修饰符(多个修饰符出现的顺序无关) |
2,方法的返回值类型                                   |顺
3,方法名                                                 |序
4,方法的参数表                                         |向
5,方法中允许抛出的异常                              |下

java中不能够在返回语句后写任何代码。JVM+解释器=JRE,JRE+类库=JDK

java中方法的重载(overload)方法名相同,参数表不同,返回值类型可以不同。调用时要给出明确参数并确定调用某一方法。在编译时,编译器会根据参数选择适当的方法,所以重载也叫编译时多态

就近向上匹配原则
如果方法的参数表中的数据类型和调用时给出的参数类型不尽相同时会根据向上匹配的就近原则。(类型就近向上转化匹配)
注意:调用时要给出明确参数并确定调用某一方法,否则编译会出错。

对象使用者(调用其他对象的方法)对象(对象中的方法被调用时根据参数进行自己进行选择)
一类方法,但跟据不同的参数会有差异,对象回根据参数判断,对对象调用者透明。

创建对象的过程:1,分配空间 2,初始化属性 3,调用构造方法(有前提,不考虑继承关系)

构造方法的写法:没有返回值类型,构造方法的方法命名必须和类名相同。如果在类中不写构造方法,系统会提供一个无参的构造方法。

注意:最好在写类时提供一个无参的构造方法

获得对象的方式
通过new(在堆空间中申请分配空间),new 类名(),可以通过这种形式或的一个对象。例如 :Car c=new Car();
有参的构造方法在被调用时,在用new关键字或的对象时初始化,例如:Car c=new Car(“yellow”)

对象变量中存放的是对象的引用(地址的封装形式)

this关键字
表示当前对象(哪个对象调用了方法,哪个对象就是当前对象),可以用来区分实例变量和局部变量。this(),他表示掉用本类其他的构造方法,注,只能写在构造方法的第一行

java中的参数传递,简单类型的变量传递的是数值,对象变量的传递则传递的一个引用(地址)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110620.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • NYOJ 12 喷水装置(二)「建议收藏」

    NYOJ 12 喷水装置(二)

    2022年1月20日
    48
  • ios屏幕旋转设置_旋转平移和缩放

    ios屏幕旋转设置_旋转平移和缩放目录(?)[-]一如何设置AnchorPoint二如何获得AnchorPoint经常会遇到需求,要求手势的缩放或者旋转操作,要求动作变化围绕某一个特定点,或者是两指的中心点,或者是某一个点。这个问题首先要清晰的知道,iOS各个view的层次关系。特别是,要清楚的知道,当前view的frame与superView的bounds是一个坐标

    2022年10月8日
    0
  • java连接数据库有几种方法_javaweb如何连接数据库

    java连接数据库有几种方法_javaweb如何连接数据库1.加载驱动Class.forname(数据库驱动名);2.建立数据库连接使用DriverManager类的getConnection()静态方法来获取数据库连接对象,其语法格式如下所示:Connectionconn=DriverManager.getConnection(Stringurl,Stringuser,Stringpass);其中url–数据库连接字符串….

    2025年6月11日
    0
  • python解决 ModuleNotFoundError: No module named _bz2

    python解决 ModuleNotFoundError: No module named _bz2在服务器上安装python3.6.5,之前用的没什么问题,今天使用matplotlib给出了报错。报错内容:from_bz2importBZ2Compressor,BZ2DecompressorModuleNotFoundError:Nomodulenamed’_bz2’看了一堆些常见的解决教程,都不好用,后来看了了stackflow发现了问题:https://stacko…

    2022年6月6日
    276
  • 神经网络–反向传播详细推导过程

    神经网络–反向传播详细推导过程概述以监督学习为例,假设我们有训练样本集  ,那么神经网络算法能够提供一种复杂且非线性的假设模型  ,它具有参数  ,可以以此参数来拟合我们的数据。为了描述神经网络,我们先从最简单的神经网络讲起,这个神经网络仅由一个“神经元”构成,以下即是这个“神经元”的图示:这个“神经元”是一个以  及截距  为输入值的运算单元,其输出为  ,其中函数  被称为“激活函数”。在本教程中,我们选用sigmoid函…

    2022年5月6日
    56
  • HTTP状态码——302「建议收藏」

    理解302表示临时性重定向。访问一个Url时,被重定向到另一个url上。常用于页面跳转。与301的区别301是指永久性的移动,302是暂时性的,即以后还可能有变化其它重定向方式在响应头中加入Location参数。浏览器接受到带有location头的响应时,就会跳转到相应的地址。…

    2022年4月18日
    82

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号