java整理(一)

1.方法重载:方法名称相同,参数的类型或个数不同。但是返回值类型不同,不是方法重载。

2.引用数据类型:数组,类,接口。内存地址分为两类,栈内存和对内存。栈内存保存的是对内存的地址,简单理解就是保存了对象名称或者数组名。堆内存保存的是数组内容或者是对象的具体信息,也就是属性的信息。

3.封装性:private封装。主方法的定义方式是public static void(返回值类型) fun(int n)类中的方法不加static,public void setName()。

4.变量的命名规则和方法一样。都是第一个首字母小写,后面的每个单词的首字母大写。

5.构造方法:1.构造方法名称与类名称相同;2.构造方法定义的时候没有返回值声明。类中如果没有构造方法,则自动生成一个,但是如果你定义了一个,则不在生成了。构造方法在卡法之中的主要目的是为了类中属性的初始化。

注意点:一个类中至少有一个构造方法;第二点:如果一个类中定义属性的时候给出了默认值的话,则这个默认值,必须在构造方法执行完毕后才可以被赋予。

普通方法是在对象实例化之后调用的,构造方法是在对象实例化的时候调用的,所以肯定不能加返回值类型。

6.匿名对象:就是只开辟了堆内存,而没有栈内存。

7.String类对象的初始化     两种实例化方式:1.直接将一个使用“”定义的字符串赋给String对象。2.String的构造方法。public String (String str)

直接赋值实例化String对象,如果第一次定义,则会将字符串内容保存在字符串对象池中,以后如果其他字符串对象依然采用直接赋值的话,可以直接通过对象池取出,不会在开辟新的内存空间。

“”定义的就是字符串,字符串并不是基本数据类型,所以java会自动把一个字符串常量当做一个String匿名对象来处理。

String str = new String (“Hello”);他会开辟两块对内存空间,其中有一块成为垃圾,这样的定义不能入池。

8.String类对象比较。两种方式:1.==2.equals()    ==比较两个字符串的内存地址数值,属于数值比较。equals()是String类提供的方法,属于字符串内容比较。

9.字符串的内容一旦声明则不可改变,改变的是栈内存的指向。

10

public class OODemo{

public static void main(String args[]){

String str ="Hello";

fun(str);

System.out.println(str);

}

public static void fun(String temp){

temp="MLDN";

}

}

Class MyResult{

Private String msg=”Hello”;

public void setMsg(String m){

Msg=m;

}

public String getMsg(){

return msg;

}

}

Public class OODemo{

     public static void main (String args[]){

MyResult mr =new MyResult();

Mr.setMsg(“World”);

fun(mr);

System.out.println(mr.getMsg());

}

pulic static void fun(MyResult temp){

Temp.setMsg(“MLDN”);

}

}

第一个程序只改了temp的指向,使得temp指向MLDN,str仍然指向Hello,第二个通过方法一直通过改变msg的



posted on 2014-06-05 10:55  迪迪520  阅读(107)  评论(0编辑  收藏  举报

导航