类的定义
类的静态属性在类定义中提现为域的定义,域也称为成员变量,我们在定义类中的域时可以同时为域赋值(初始化),域的定义只能在类体中。
域的定义方法:修饰符 类型名 域名;
public class PersonTest
{
private String name;//定义一个被private修饰的字符串型的域
public int id;
int age;
}
方法定义
方法只能在类的内部定义。方法是类的动态属性,表示类具有的功能和行为,通过调用方法来改变对象状态。定义方法一般是为了实现一个功能。
方法的定义方法:修饰符 返回值类型 方法名(形参)//参数可以有多个用,隔开,修饰符可加可不加
public void setName(String n,int i,int a)//定义一个方法,为name,id和age赋值
{
name=n;
id=i;
age=a;
}
public String getName()//定义一个方法获取name的值,getName与上面的setName都只是方法名按个人喜好设置
{
return name;
}
构造方法的定义
构造方法的作用是在创建对象时,为对象进行初始化,如果没有构造方法,计算机将在每次创建对象时自动进行。
构造方法的特殊之处:①构造方法的方法名必须完全与所在类名相同。
②构造方法是没有返回值的,也不需要返回类型修饰符。
③构造方法是用户创建对象时系统自动调用的,用户本身无法调用。
④构造方法本身作用是对类对象进行初始化。
构造方法重载
具有相同的方法名(与类名相同)的多个构造方法,却拥有不同的参数的这种构造方法称为构造方法的重载。
PersonTest(String a)
{
name=a;
}
PersonTest(String a,int b)
{
id=b;
name=a;
}
PersonTest(String a,int b,int c)
{
name=a;
id=b;
age=c;
}
//这里出现了三个构造方法,但是参数不同,系统在调用时会自动寻找最合适的,如果没有系统会自动构造。
对象创建
1.声明对象:用指定的类声明一个对象,对象的声明仅仅是利用标识符对指定类型变量的引用,它不会为对象分配地址空间。
声明方法:类名 对象;
2.对象实例化:用关键字new来实现,new的作用是向系统申请地址空间。关键字后边跟着类的构造方法,为“对象”的成员变量进行初始化。我们知道类中的构造方法可以定义多个,计算机会根据参数的类型和数量自动选择匹配的构造方法进行初始化,所以我们在构造方法的时候不要构造几个参数数量相同,类型相同的。
实例化方法:
对象=new 类名(参数,参数,……,参数n);
我们一般在声明对象的同时进行实例化,像这样:
类名 对象名=new 类名(参数,……,参数n);
public class PersonTest
{
private String name;
public int id;
int age;
PersonTest(String a,int b,int c)
{
name=a;
id=b;
age=c;
}
public static void main(String []args)
{
PersonTest pt;//对象声明
pt=new PersonTest("zhansan",2021,29);//对象实例化
PersonTest es=new PersonTest("zhansan",2021,29);//对象的声明与实例化一起
}
}
方法调用
public class PersonTest
{
private String name;//定义一个被private修饰的字符串型的域
public int id;
int age;
PersonTest(String a,int b,int c)
{
name=a;
id=b;
age=c;
}
public String getName()
{
return name;f//返回name的值
}
public static void main(String []args)
{
PersonTest pt;//对象声明
pt=new PersonTest("zhansan",2021,29);
PersonTest es=new PersonTest("zhansan",2021,29);
String x=es.getName();//调用方法getName()
System.out.println("输出名字:"+x);
System.out.println("输出名字:"+es.getName());
//两种方法均可以输出name的值
}
}