首页 > 编程知识 正文

java无难事PDF,笔记杂著医事别录pdf

时间:2023-05-03 23:49:12 阅读:111447 作者:2884

==和equal

对于基本数据类型,与常规使用相同

对于引用数据类型,==应该使用equal来确定两个引用变量的值是否相等,即,两个变量所在的地址是否相等,而两个变量引用对应的值是否相等

class JavaTest

{

publicstaticvoidmain (string [ ] args ) )。

{

stringstr1=newstring('lai );

stringstr2=newstring('lai );

Stringstr3=str1;

if(str1==str2) ) )。

{

system.out.println(str1==str2);

}

else

{

system.out.println('str1!=str2';

}

if(str1==str3) ) )。

{

system.out.println(str1==str3);

}

else

{

system.out.println('str1!=str3';

}

inta=3;

intb=3;

if(a==b ) )。

{

system.out.println(a==b );

}

else

{

system.out.println('a!=b ';

}

}

}

String中的" "和"="是唯一用Java重载的操作符。 在Java中,程序员不能重载操作符。

StringBuffersb=new StringBuffer (;

inti=3;

doublef=6.32;

Stringstr1='lai ';

sb.append(str1).append (I ).append (f );

system.out.println(sb;

输出时可以直接写为sb。 他调用valueOf返回一个字符串对象。

public static string http://www.Sina.com/(objectobj ) ) ) ) ) ) ) ) )。

返回Object参数的字符串表示形式。

删除字符串删除结束字符的位置是要删除的位置的下一个位置

Stringbuffer insert指向要插入的位置之前

数组

new关键字

为对象分配内存空间。

引起对象生成方法的调用。

返回对对象的引用。

Student [] stu=new Student[3];

类累计

>{

Int age;

StringBuffer name;

Student(int age,StringBuffer sb)

{

This.age = age;

This.name = sb;
}
}

那么new在创建的时候只干了两件事情,一个是返回一个引用,一个是在堆上分配内存,并没有调用构造函数。

写代码验证,确实如此,可以这么认为当后面接上[]的时候不会调用构造函数,当接上()时候会调用构造函数!!!

class Test

{

       Test()

       {

                System.out.println("i'mcalled!");

       }

       public static voidmain(String[] args)

       {

                //Test test =new Test();

                Test[] test =new Test[3];

                test[0] = newTest();

       }

}

 

Main函数讲解

 

函数调用

在Java中,传参时,都是以传值的方式进行。

对于基本数据类型,传递的是数据的拷贝;对于引用类型,传递的引用的拷贝。

Point pt;

System.out.println(pt);

答应对象的时候会返回这个对象的一个字符串,类名+

可以覆盖toString方法,返回需要答应的信息。

 

 

对象克隆

class Student implements Cloneable

{

       String name;

       int age;

       Student(String name,intage)

       {

                this.name =name;

                this.age = age;

       }

       public Object clone()

       {

                Object o =null;

                try

                {

                o =super.clone();

         }

         catch(CloneNotSupportedException e)

         {

              System.out.println(e.toString());

         }

         return o;

       }

}

 

class Test

{

       public static voidmain(String[] args)

       {

                Student stu =new Student("lisi",18);

                Student stu2 =(Student)stu.clone();

       }

}

 

首先是实现Cloneable类,然后覆盖clone函数,调用父类的clone函数,super.clone

把clone函数声明为public,这样别的函数就能调用它了!

注意clone返回的是Object对象,记得把Object对象返回时要强制转换为Object类型!

 

注意一点clone的时候引用只是拷贝引用的地址,其实这两个引用时指向同一份内存地址,切记,因为String是一个长对象,修改的时候会重新分配一块内存,所以没有改变!不同于其它引用

只复制地址是浅层次的拷贝,如果要深层次,可以在引用所对用的那个类来实现clone方法

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。