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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c#启动外部程序_winform程序自动更新

    c#启动外部程序_winform程序自动更新//class里面放入这段代码[DllImport(“shell32.dll”)]publicstaticexternintShellExecute(IntPtrhwnd,StringBuilderlpszOp,StringBuilderlpszFile,StringBuilderlpszParams,StringBuilderlpszDir,intFsShowCmd);//需要打开的地方插入此段代码ShellExecute(IntPtr.Zero,newStr

    2022年8月30日
  • linux修改密码的方法_linux密码正确无法登录

    linux修改密码的方法_linux密码正确无法登录情景:Linux服务器上用户的密码被服务器管理员发现太过简单,需要重置密码。处理时为了方便记忆,就直接使用普通用户登录,修改密码时,在原密码的基础上增加一串特定的数字,结果提示不通过。例如出现错误提示”BADPASSWORD:itisbasedonyourusername”。网罗相应的资料得知:1、使用管理员帐号root怎么设置都可以,可以不受验证机制的约束。2、普通用户修改自己…

    2022年9月6日
  • Unity安装VScode「建议收藏」

    Unity安装VScode「建议收藏」https://code.visualstudio.com/下载好之后,打开unity edit-  preferenceexternaltools openbyfileextension,点开,Browse,然后选你VSCode.exe的位置。  之后双击打开会有我这个是安装好扩展的界面,大概就是要 左边这个几个安装好之后可能打出不来提示,重…

    2022年6月27日
  • 自然语言处理真实项目实战(20170822)

    自然语言处理真实项目实战(20170822)

    2022年3月6日
  • 什么是DrawCall?「建议收藏」

    前言游戏开发圈里的人一定听过优化游戏要降低DrawCall,这样到底什么是DrawCall呢?Unity中应该如何降低DrawCall,这里就来讲解一下关于DrawCall知识点。1.是谁拖了后腿?通俗的来说就是Cpu:(#`O′)喂你好,是Gpu吗?快点醒醒我这里又有画画的任务了(Cpu调用Gpu的次数),打一个比方比如上传很多文件到百度云或其他地方时,都会把它压缩到一个文件夹里…

    2022年4月5日
  • 【主席树】bzoj3932 [CQOI2015]任务查询系统

    【主席树】bzoj3932 [CQOI2015]任务查询系统

    2021年9月5日

发表回复

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

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