1.object类
在我们平时创建一个类的时候往往我们明明什么内容都没有写,但是他缺有很多的方法?其实我们所书写的所有类都默认继承了一个类,这个类就是Object类。
object类又叫万类之祖,因为在java中如果没有写继承的话,那么就默认这个类继承Object类,例如,以下定义完全相同。
class Person { }
class Person extends Object { }
使用Object可以接收所有对象。
public class cat {
int legs=4;
String fur="黄色";
int eyes=2;
public void run(){
System.out.println("猫跑的飞快");
}
public void accompany(){
System.out.println("猫能陪我好久");
}
public static void main(String[] args) {
Object a =new cat();
}
}
Object 类属于java.lang
包,此包下的所有类在使用时无需手动导入,系统会在程序编译期间自动导入。
接下来将Object类常用的几个方法。
1.1tostring()
该方法用得比较多,一般子类都有覆盖,来获取对象的信息,在idea中可以使用快捷键alt和insert快速生成,直接调用生成的是元素的地址信息。
public class cat {
int age=10;
String s ="猫";
@Override
public String toString() {
return "cat{" +
"age=" + age +
", s='" + s + '\'' +
'}';
}
public static void main(String[] args) {
cat c =new cat();
System.out.println(c.toString());
}
}
1.2equals()
用来比较两个对象的内容是否相等。
1.3hashCode()
该方法用于哈希查找,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。对象的一个唯一值,用来快速定位内存地址
1.4finalize()
对象被JVM回收的一定会自动调用。当对象已满时自动调用。
2.final关键字
2.1修饰变量
final int num = 10;
num = 20;
这段代码是错误的当num被fianl修饰后,后面他的值就不能在被修改,否则就会报错。
2.2修饰方法
使用final修饰的方法表示该方法不能被子类重写。从写的话就会报错。
2.3修饰类
使用final修饰的类表示该类不能被继承。
总的来说,final关键字用来表示最终的、不可改变的内容,包括不可继承的类、不可重写的方法和不可修改的常量。
3.String类
3.1String类并不是基本数据类型
String 并不是基础的数据类型,而是一个引用类型。String 类属于引用数据类型,因为其实际上是一个对象,而不是原始数据。在 Java 中,字符串(String)是一种特殊的对象,可以通过使用双引号来创建字符串实例,而不需要使用 new 关键字。因此,在 Java 中,String 不是基础的数据类型,而是引用数据类型。基础的数据类型有double,long,float,Int,short,byte,char,boolean八种。
3.2String和StringBuilder的区别
String和Stringbuilder都是字符串处理的类,String 类是不可变的,意味着一旦创建了一个 String 对象,它的值就不能被修改。任何对 String 对象的操作都会创建一个新的 String 对象,而原始的 String 对象保持不变。
String b="1";
b="3";
第一次对b赋值1,此时b的地址为1,第二次为b赋值时,就会开辟新的空间,地址为1的空间的值还是1,第二次开辟的空间为2,给这个空间的值为2.
StringBuilder 类是可变的,可以通过调用方法来更改 StringBuilder 实例中的内容,而不会创建新的对象。这样可以提高效率,特别适用于需要频繁修改字符串的情况。
String类效率没有Stringbuilder高。
3.3String常用的几种方法
public static void main(String[] args) {
String s= "wwww";
System.out.println(s.hashCode());//对象的一个唯一值,用来快速定位内存地址
System.out.println(s.equals("wwww"));//用来判断两个字符串是否相等
String t=String.valueOf(1234);//将其他类型转换为String类型
System.out.println(s);
char[] arr={'a','b','c'};
s=String.valueOf(arr,0,3);//将字符拼接成字符串
System.out.println(s);
System.out.println(s.toUpperCase());//字符串大写
System.out.println(s.toLowerCase());//字符串小写
System.out.println(s.toString());
s+=" ";
System.out.println(s.trim());//清除前后空格
s="abcdefghijklmn";
System.out.println(s.substring(3, 10));//字符串的截取
System.out.println(s.lastIndexOf("e"));//字符串的查找
s="abc.def.ghi";
s.replace(".","*");
System.out.println(s.replace(".","*"));//字符串的替换
String[] a=s.split("b");//字符串的分割
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
这是这段代码的运行结果。
标签:java,String,object,System,字符串,println,public,out From: https://blog.csdn.net/2302_78076476/article/details/139157152