学习java基础时需要注意的几个知识点

        在朋友的辅导下,这几天我开始学习java基础知识,今天简单的写下需要注意到的几个知识点,如果写的有问题,希望前辈们看到多多指教! 
1、初始化块:java类里出现的第四种成员(前三个有Field,方法和构造器) 
     初始化块和构造器的作用类似,都是对java对象进行初始化操作,一个类中可以有多个初始化块,相同类型的初始化块之间有顺序,先定义的先执行。初始化块的修饰符只能是static,被称为静态初始化块。初始化块里的代码可以包含任何可执行语句,包括定义局部变量,调用其他对象的方法,以及使用分支循环语句等等。 
初始化块的格式如下: 
【static】{ 
//初始化块的可执行语句 

  
2、Object类中的toString方法 
       toString()方法返回该对象的字符串表示,当我们使用System.out.Println()方法输出一个对象时,或者把某个对象和字符串进行连接运算时,系统会自动调用该对象的toString()方法返回该对象的字符串表示。 

       Objectl类的toString()方法返回“运行时类型@十六进制hashCode值”格式的字符串。所以很多类都重写toString方法,用于表示可以表述该对象信息的字符串。 
在类的定义中添加如下代码: 
@Override 
public String toString() 

     //可以执行的代码语句 
  } 
例如: 
该类对象就直接调用了toString方法,打印出以上格式的语句 

3、定义方法来实现代码的复用 
         当一个操作在其他几个操作中都会使用到的时候,就可以把这个操作提取出来,写成一个公用的方法,供其他方法使用,提高了代码的复用性,进一步优化了代码。 
比如:查询ID号是否存在,这个操作在增删改查时都会用到,那就可以把这个提取出来写成一个方法。 

//定义一个方法,用于查询id是否重复 
public static boolean ifExist(int id){
for(Student st:arr){ 
if(id==st.getId()){ 
return true; 


return false; 

在用到这个操作时直接调用ifExist()方法就可以了! 

4、”==“和equals()方法:两个都是比较两个对象是否相等 
  [color=red]值类型是存储在内存中的堆栈(简称栈), 
  引用类型的变量在栈中仅仅是存储引用类型变量的地址,而本身则存储在堆中。
 
  “==”操作值类型是比较两个变量的值是相等,对于引用型变量表示两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。 
      Equals()表示的是两个变量是否是对同一个对象的引用,即堆中的内容是否相同。 
    == 比较的是两个对象的地址,而equals()比较的是两个对象的内容。 

         再说equals()方法是父类Object所定义的方法,用来实现两个对象内容是否相等的逻辑,说equals()方法要从两个方面: 
(1)、从Object角度来说,==和equals是一样的,都是比较引用,因为Object类的equals()方法这样定义的, 
Pubilc boolean equals(Object obj){rerurn (this==obj)} 
方法内部实现就是比较引用地址,用的也是==号,所以对于Object来讲,equals与==是一样的 
(2)、对于其他类来说,可以根据需要,在自定义的类中重写(Override)方法,实现内容是否相等的逻辑,因为String类重写了equals方法,所以我们才说String的equals比较的是两个字符串的内容 
[/color]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值