类的多态性:

    Java语言中含有方法重载与成员覆盖两种形式的多态:(区别于c++)

    方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。
    成员覆盖:子类与父类允许具有相同的变量名称,但数据类型不同,允许具有相同的方法名称,但完成的功能不同。

  类:class  对象:object   实例:Instance

  创建属于某类的对象,需要通过下面两个步骤来实现:
    1、  声明指向"由类所创建的对象"的变量
    2、  利用new创建新的对象,并指派给先前所创建的变量。  
  举例来说,如果要创建Person类的对象,可用下列的语句来实现:
  方法一:

    Person p ; // 先声明一个Person类的对象p
    p = new Person() ;   // 用new 关键字实例化Person的对象p

  方法二:  
      Person p = new Person() ;  // 声明Person对象p并直接实例化此对象
匿名对象:

  “匿名对象”,顾名思义,就是没有明确的声明的对象,也可以简单理解为只使用一次的对象,即没有任何一个具体的对象名词引用它;

    System.out.println(new Person().talk() );   //声明了一个匿名对象,调用Person类中的()方法;

用new Person() 声明的对象并没有赋给任何一个Person类对象的引用,所以此对象只使用一次,之后就会被java 的垃圾收集器回收;

  对象的比较:

    有两种方式可用于对象间的比较,它们是 "=="运算符与equals()方法,

  “==” 操作符用于比较两个对象的内存地址值是否相等,

  equals( )方法用于比较两个对象的内容是否一致;

下面两种String对象的声明方式到底有什么不同?

  String  str1 =  new String("java");

  String  str2 = "java";

public class StringDemo
{public static void main(String args[]){   String str1 = "java";String str2 = new String("java");String str3 = "java";System.out.println("str1 == str2?" + (str1==str2));System.out.println("str1 == str3?" + (str1==str3));System.out.println("str2 == str3?" + (str2==str3));}
}

  str1 == str2?false
  str1 == str3?true
  str2 == str3?false

由程序输出结果可以发现,str1 与 str3相等,这是因为 "==" 是用来比较内存地址值的;

str1 与 str3  相等,则证明str1 与 str3 是指向同一个内存空间的;

转载于:https://www.cnblogs.com/chris-cp/p/3849510.html

Java面向对象的编程相关推荐

  1. Java面向对象 网络编程 上

     Java面向对象 网络编程 上 知识概要:                     (1)网络模型 (2)网络通讯要素 (3)UDP TCP 概念 (4)Socket (5)UDP TCP 传输 ...

  2. Java面向对象的编程⑤面向对象

    今日内容:java面向对象 1面向对象的思想 面向对象和面向过程区别: 面向对象是相对于面向过程,面向过程指的功能行为,面向对象指将功能封装对象中,强调的是功能的对象 面向过程:打开门大象放进去关闭门 ...

  3. java有无参数求长方形的周长面积_用java面向对象思想编程求长方形的周长和面积...

    //面向的重要体现就是接口的使用 //甲 interface zfx { double mianji(); double zhchang(); } //乙 class zfxing implement ...

  4. JAVA面向对象程序编程

    ​ 4.1 类 面向对象四大基本特征:封装.继承.多态和抽象 每个对象都有两个特征:属性(成员变量).行为(成员方法) 4.1.1 类 1)定义类 格式:[访问修饰符] class 类名{ 所含变量定 ...

  5. 苏晓茂的java面向对象核心编程笔记01

    包装类 1.包装类 基本数据类型的引用类型 byte------->Byte short------>Short int-------->Integer char-------> ...

  6. java面向对象程序设计编程题,已拿到offer

    蚂蚁金服(五面) 蚂蚁金服:一面 一面就做了一道算法题,要求两小时内完成,给了长度为N的有重复元素的数组,要求输出第10大的数.典型的TopK问题,快排算法搞定. 算法题要注意的是合法性校验.边界条件 ...

  7. 【持续更新】JAVA面向对象多线程编程的一些tips

    sleep()和wait()的区别 sleep()方法是Thread类的方法,wait()方法是Object类的方法. 调用sleep()方法的过程中,线程不会释放对象锁,睡眠时间一过,就又开始执行. ...

  8. 【Java】--面向对象的编程之千锤百炼大总结

     写在前面 包         概述         导入包中的类         静态导入         将类放入包中         包的访问权限控制         常见的系统包   继承   ...

  9. Scala程序设计:Java虚拟机多核编程实战(国内第一本Scala图书)

    Scala程序设计:Java虚拟机多核编程实战(国内第一本Scala图书) 基本信息 作者: (美)Venkat Subramaniam  译者: 郑晔 李剑 丛书名: 图灵程序设计丛书 出版社:人民 ...

  10. 华清远见-JAVA面向对象简单总结

    以下是一个Java初学者对Java面向对象学习的简单总结,可能有些地方说的不是很对或不是很全面,望谅解. 在学习java面向对象时,首先,我们要搞清楚java面向过程和面向对象编程思想的区别.对于面向 ...

最新文章

  1. 无需用眼,大脑直接成像,失明的人也能重新「看见」|Science
  2. 每日一皮:中关村地铁站和普通地铁站的区别
  3. Silverlight+WCF 新手实例 象棋 该谁下棋-B下A停(三十)
  4. 数组作为实参传给函数的形参指针
  5. Python数据类型方法总结
  6. 跟我一起写 Makefile(九)
  7. 带wiringPi库的交叉编译
  8. 开设计算机课程的必要性,学前教育专业开设计算机音乐制作课程的必要性与可行性...
  9. 使用for循环嵌套实现乘法口诀表
  10. Discuz!X/缓存机制和使用方法
  11. linux环境中nagios(nagios core)安装?nagios安装?
  12. nginx的几个超时时间
  13. MATLAB的变换器毕业设计,基于matlab的反激变换器分析与设计毕业设计doc.docx
  14. 英语影视台词---经典电影台词(世间万物有始皆有终。)
  15. 分析的意义:数据背后的故事(1)
  16. php sftp上传图片,SFTP远道文件上传
  17. 开源LLM领域变天!LLaMa惊天泄露引爆ChatGPT平替狂潮
  18. Leetcode 048旋转图像(将矩阵逆时针旋转90度)(先对角线翻转,再左右翻转)
  19. 弘辽科技:一元秒杀重回抖音直播间,一切都是流量“惹的祸”
  20. 一个屌丝程序员的青春(二五七)

热门文章

  1. 智能优化算法:原子搜索优化算法 -附代码
  2. numpy中array的维度之-------一维向量和一维数组的区别。
  3. 基于遥感图像的船舶目标识别技术
  4. Java通过微信公众号获取地理位置信息
  5. larveral 直接拷贝安装_重新安装网卡驱动的电脑操作
  6. Kubernetes核心技术--Pod,Label,Volume,Service,Deployment详解
  7. Python数据库操作——连接MySQL
  8. 修改表格字体颜色_为什么用格式刷无法匹配文字的字体和颜色?到底哪些特性可以匹配?...
  9. python---用python实现选择排序
  10. php远程调试 没有光标,老法师谈技术 - PHP远程单步调试