java学习初探5之构造方法
程序员文章站
2022-07-15 18:25:54
...
1.java类的构造方法
(1)构造方法语法
构造方法的作用:创建对象、初始化成员变量。
构造方法主要是用来创建类的实例化对象,可以完成创建实例化对象的初始化工作。
声明格式:构造方法修饰词列表 类名(方法参数列表)
构造方法修饰词列表:public proteced private
类的构造方法和普通方法一样可以重载。
public class User{
private int age;
User(){}
User(int _age){ age=_age;}
}
构造方法的特点:
、构造方法名称必须与类名一致
、构造方法不具有任何返回值类型,即没有返回值,关键字void也不能加入,加入后就不是构造方法,而是普通方法。
、任何类都有构造方法,如果没有显示的定义、则系统会为该类定义一个默认的构造器,这个构造器不含任何参数,如果显示的定义了构造器,系统就不会创建默认的不含参数的构造器了。
类{
1.成员变量
2.成员方法
3.构造函数
4.静态方法(类名.方法调用静态)
}
2.对象和引用
(1)java内存的主要划分
public class Test01 {
public static void main(String[] args) {
User user=new User();
user=null;//user 赋值为空,不再引用User对象,则User对象变成垃圾 等待回收
system.out.println(user.name);//使用一个空的引用去访问成员,编译可通过,运行时出错。(空指针异常)
}
}
3.参数传递问题
(1)传递的数据是基本数据类型
public class Test02 {
public static void m1(int i) {
i++;
System.out.println("m1:"+i);//11
}
public static void main(String[] args) {
int i=10;
m1(i);
System.out.println("main:"+i);//10,因为这里的i是局部变量,
}
}
(2)传递的数据是引用数据类型
public class Test03 {
public static void m1(Animal a) {
a.age++;
System.out.println("m1:"+a.age);//11
}
public static void main(String[] args) {
Animal a=new Animal(10);
m1(a);
System.out.println("main:"+a.age);//11 两个a指向的同一个对象
}
}
class Animal{
int age;
public Animal(int _age) {
age=_age;
}
}