JAVA语言面向对象基础和String介绍
小标 2019-01-18 来源 : 阅读 855 评论 0

摘要:本文主要向大家介绍了JAVA语言面向对象基础和String介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言面向对象基础和String介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。


Java代码处理过程


.java-->编译--->.class---->解析---->.运行程序(虚拟机处理)


JRE:Java Runtime Environment


Java编程规范:每一个操作后都添加一个空格


方法的重载:方法名相同,但是参数个数或者参数类型不同,两者都不同也可以


面向对象:


封装性:1,把对象的属性和行为包装成一个整体


2,把不希望外界访问的信息隐藏


继承性:首先设计一个具有描述一般特征事物的类,再此基础上去定义具有特殊属性的事物的类


多态性:1,方法的重载


2,子对象和父对象的互相转换


static在方法上声明的情况:不是由对象调用的方法添加static,反则反之


引用类型与堆栈内存: String 类 数组 等


栈:存储堆内存的地址数据


堆:存储具体对象的属性值


为什么一般的对象可以用"=="直接比较而String对象却一般不行?


一般对象如数组,CLASS对象比较用"==",都是直接在比较栈内存数据是否相同,而一般对象都是直接拷贝,所以多个栈内存指向同一个堆内存。String对象一般是新建堆栈存储,如 String str = new String("world") ;故栈存储不同,即使是相同的值,也不相同。String为了解决这个问题定义了如下方法:


public boolean equals(String str); 该方法用来比较String字符串,注意:该方法有NULL检测


匿名对象:没有栈对象指向堆内存的对象


字符串常量的特殊性:


举例 : "hello".equals("hello"); 可以发现equals是一个方法,只有对象可以调用方法,这里说明"hello"是一个对象,但是并没有定义String对象,故不存在栈存储,所以只有堆内存。说明字符串常量是一个匿名对象


String类两种构造方法的区别(重)


直接赋值方式:String st r= "hello" ; 可知"hello"可以看作一个匿名对象,会有自己的堆内存,这里str对象的栈内存就指向这块内存。由此:该方法值开辟一块堆空间,并且存入内存池。


构造方法:String str = new String("hello") ; "hello"匿名对象有一个堆内存,但是new标识符一定会开辟一块堆内存(该内存不会加入内存池,但可以用intern方法手动加入内存池),而且str对象的栈内存指向new开辟的堆内存,那么这里就有两块堆内存,且"hello"的堆内存会标志为垃圾。


举例1:


String str1 = new String ("hello") ;


String str2 = "hello" ;


判断 str1 == str2 结果为 false


举例2:


String str1 = new String ("hello").intern() ;


String str2 = "hello";


判断 str1 == str2 结果为 true


简单JAVA类(原则上JAVA类都要实现以下几点)


1,类名


2,所有属性都为private并实现对应的gettter和setter方法


3,在类中没有任何输出


4,保留一个无参构造方法


5,提供一个获取类中所有属性的方法返回String


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程