正在恶补的Java基础(一)

一、关于java类的构造方法
在java中,构造方法是用来初始化一个实例对象的,与一般的实例方法不同之处在于三个方面:修饰符、返回值、命名
1.构造方法不能有非访问性质的修饰符,如static、final、abstract等。
2.构造方法是没有任何返回值类型的,看上去是默认带了个void,实际上是啥也没有。
3.命名的话,直接就是采用类名,然后自己没有写构造方法的话,系统会默认给加一个无参构造,如果自己写了一个有参构造的话,最好也给加上一个无参构造。因为如果这个类有子类的话,new 子类的实例对象时,子类的构造器会调用父类的无参构造。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
然后我们可以知道抽象类实质上是有构造方法的,因为它是可以被继承,所以它必定需要有一个无参构造。

哦,对了,在类的静态方法中是不能用this,和super这两个关键字去取实例对象中的东西的,因为这两个关键字属于非静态的。

二、String的三种类型

  1. String
    String是不可变类。在他的源码中可以看到,String类是带final修饰符的。
    在每次对String的实例进行修改时,实质上是新new了一个String类,然后将生成的子串,放在了这个新的String实例中的,最后将原来的引用指向这个新的实例。
  2. StringBuffer
    StringBuffer对象是一个可变序列的字符串,是一个线程安全的类。
    能通过toString转换成String对象。
  3. StringBuilder
    StringBuilder对象基本和StringBuffer相同,可变,方法也差不多,但没有实现线程安全,相应的,速度也更快,通常情况下使用可变子串,都是用StringBuilder类的。

三、equals与== 的真正区别
==是判断两个变量或实例是不是指向同一个内存空间,equals是判断两个变量或实例所指向的内存空间的值是不是相同
==是指对内存地址进行比较 , equals()是对字符串的内容进行比较
==指引用是否相同, equals()指的是值是否相同
在这里插入图片描述
在这里插入图片描述
这几个都是在上次java测试中发现的不足的一部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值