一:类与对象的关系
类是对对象的描述,是创建对象的“模板”,是对象的抽象
对象是表示现实世界中某个具体的事物,是类的一个实例,是类的实例化结果
class 类名{
属性声明;
方法声明;
}
//定义一个类 class People{ //类的属性声明(变量定义) int age; float height; //类的功能声明(方法定义) void printAge(){ System.out.println(age); } void updateAge(int a){ age=a; } }
对象的声明和创建
声明对象和声明变量类似,例如:People p;
创建对象使用关键字new
class Test{
public static void main(String [] args){
People p;
p=new People();
People her=new People();
People yp1=new People();
}
}
对象的使用
class Test{
public static void main(String [] args){
People p;
p=new People();
p.age=20;
p.printAge();
}
}
形参和实参
形参和实参的概念
形参:全称为“形式参数”,是在定义方法名和方法体的时候使用的参数,用于接收调用该方法时传入的实际值
实参:全称为“实际参数”,是在调用方法时传递给该方法的实际值
注意
调用方法时给定的实际参数类型要与定义方法时形式参数类型相同,而且顺序也要相同
方法的调用
class People{
void updateAge(int a){
System.out.println(a);
}
}
class Test{
public static void main(String [] args){
People my=new People();
my.printAge();xxx
my.printAge(“张三”);xxxx
my.printAge(20.12);xxxxx
my.printAge(20);
}
}
递归方法
递归就是在一个方法中调用自己
例如一个方法为sort(),那么如果在这个方法中出现了调用它自己的语句:
static void sort() {
……
sort();
……
}
就可以将这个方法叫做递归方法
.构造方法
构造方法是一个用来初始化一个对象的内部状态的特殊方法
class Test{
public static void main(String [] args){
People my;
my=new People();
my.age=20;
my.printAge;
}
}
People():在实例化时候就相当于调用无参的默认构造方法。
构造方法的特殊性
构造方法的主要作用是完成对类对象的初始化工作
在创建new()一个类的新对象时,系统会自动调用该类的构造方法为新对象初始化
构造方法不能由编程人员显式地直接调用
构造方法没有返回类型
构造方法的方法名与类名相同
小结
在Java语言中,每个类都至少有一个构造方法
如果类的定义者没有显式地定义任何构造方法,java编译器将自动为类提供一个默认的构造方法,默认构造方法没有参数,默认构造方法没有方法体
在Java类中,一旦类的定义者显式地定义了一个或多个构造方法,系统将不再提供默认的构造方法
构造方法的重载
class Person {
int age;
Person() { age = 18; } //不带参数的构造方法
Person(int i) { age = i; } //带参数的构造方法
void setAge(int i) { age = i; }
}
class Test {
public static void main(String[] args){
Person p1=new Person();
Person p2=new Person(21);
}
}
根据传递参数的不同,Java会自动的选择相应的构造方法