Java面向对象的编程
类的多态性:
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面向对象的编程相关推荐
- Java面向对象 网络编程 上
Java面向对象 网络编程 上 知识概要: (1)网络模型 (2)网络通讯要素 (3)UDP TCP 概念 (4)Socket (5)UDP TCP 传输 ...
- Java面向对象的编程⑤面向对象
今日内容:java面向对象 1面向对象的思想 面向对象和面向过程区别: 面向对象是相对于面向过程,面向过程指的功能行为,面向对象指将功能封装对象中,强调的是功能的对象 面向过程:打开门大象放进去关闭门 ...
- java有无参数求长方形的周长面积_用java面向对象思想编程求长方形的周长和面积...
//面向的重要体现就是接口的使用 //甲 interface zfx { double mianji(); double zhchang(); } //乙 class zfxing implement ...
- JAVA面向对象程序编程
4.1 类 面向对象四大基本特征:封装.继承.多态和抽象 每个对象都有两个特征:属性(成员变量).行为(成员方法) 4.1.1 类 1)定义类 格式:[访问修饰符] class 类名{ 所含变量定 ...
- 苏晓茂的java面向对象核心编程笔记01
包装类 1.包装类 基本数据类型的引用类型 byte------->Byte short------>Short int-------->Integer char-------> ...
- java面向对象程序设计编程题,已拿到offer
蚂蚁金服(五面) 蚂蚁金服:一面 一面就做了一道算法题,要求两小时内完成,给了长度为N的有重复元素的数组,要求输出第10大的数.典型的TopK问题,快排算法搞定. 算法题要注意的是合法性校验.边界条件 ...
- 【持续更新】JAVA面向对象多线程编程的一些tips
sleep()和wait()的区别 sleep()方法是Thread类的方法,wait()方法是Object类的方法. 调用sleep()方法的过程中,线程不会释放对象锁,睡眠时间一过,就又开始执行. ...
- 【Java】--面向对象的编程之千锤百炼大总结
写在前面 包 概述 导入包中的类 静态导入 将类放入包中 包的访问权限控制 常见的系统包 继承 ...
- Scala程序设计:Java虚拟机多核编程实战(国内第一本Scala图书)
Scala程序设计:Java虚拟机多核编程实战(国内第一本Scala图书) 基本信息 作者: (美)Venkat Subramaniam 译者: 郑晔 李剑 丛书名: 图灵程序设计丛书 出版社:人民 ...
- 华清远见-JAVA面向对象简单总结
以下是一个Java初学者对Java面向对象学习的简单总结,可能有些地方说的不是很对或不是很全面,望谅解. 在学习java面向对象时,首先,我们要搞清楚java面向过程和面向对象编程思想的区别.对于面向 ...
最新文章
- 无需用眼,大脑直接成像,失明的人也能重新「看见」|Science
- 每日一皮:中关村地铁站和普通地铁站的区别
- Silverlight+WCF 新手实例 象棋 该谁下棋-B下A停(三十)
- 数组作为实参传给函数的形参指针
- Python数据类型方法总结
- 跟我一起写 Makefile(九)
- 带wiringPi库的交叉编译
- 开设计算机课程的必要性,学前教育专业开设计算机音乐制作课程的必要性与可行性...
- 使用for循环嵌套实现乘法口诀表
- Discuz!X/缓存机制和使用方法
- linux环境中nagios(nagios core)安装?nagios安装?
- nginx的几个超时时间
- MATLAB的变换器毕业设计,基于matlab的反激变换器分析与设计毕业设计doc.docx
- 英语影视台词---经典电影台词(世间万物有始皆有终。)
- 分析的意义:数据背后的故事(1)
- php sftp上传图片,SFTP远道文件上传
- 开源LLM领域变天!LLaMa惊天泄露引爆ChatGPT平替狂潮
- Leetcode 048旋转图像(将矩阵逆时针旋转90度)(先对角线翻转,再左右翻转)
- 弘辽科技:一元秒杀重回抖音直播间,一切都是流量“惹的祸”
- 一个屌丝程序员的青春(二五七)
热门文章
- 智能优化算法:原子搜索优化算法 -附代码
- numpy中array的维度之-------一维向量和一维数组的区别。
- 基于遥感图像的船舶目标识别技术
- Java通过微信公众号获取地理位置信息
- larveral 直接拷贝安装_重新安装网卡驱动的电脑操作
- Kubernetes核心技术--Pod,Label,Volume,Service,Deployment详解
- Python数据库操作——连接MySQL
- 修改表格字体颜色_为什么用格式刷无法匹配文字的字体和颜色?到底哪些特性可以匹配?...
- python---用python实现选择排序
- php远程调试 没有光标,老法师谈技术 - PHP远程单步调试