2021-01-16
类与对象
类(class)
1、定义
具有一组相同属性和行为的对象的集合;
通过对象抽象出来类;类可以看成是一个模板,通过模板创建具体的对象。
类是java程序中的最小的单元;
2、成员变量(属性)
对象的具体特征 ;
例如:String =name;//狗的名字
3、方法(行为)
(1)对象的具体行为;
完成程序中某个特定代码块的功能;
只管调用方法,不用关心里面如何实现;
(2)方法的四要素:
a.返回值类型;
b.方法的名称;
c.方法的参数列表;
d.方法体;
(3)格式:
[修饰符] 返回值 方法名(形参列表){//方法体}
例如:public void printDog(){System.out.println("狗")}
(4)返回值类型:
a.void:如果该方法没有返回值则使用void表示;
b.如果有返回值必须使用具体的返回值类型替代void,并且在方法体中需要使用return返回具体类型的数
c.如果有返回值,该方法则可以使用变量接收。
(5)方法的参数列表
a、定义:方法名的后面(参数列表);
b、形式参数(形参):
在定义方法的时候使用,就是方法名后面的()里面的值;
可以有一个形参,也可以有多个形参,多个形参之间使用,(逗号)隔开;
定义: [修饰符] 返回值 方法名(形参列表){//方法体}
例如:
// 狗会算账 num1,num2:表示是形参,具体值是多少取决于调用方法传入的实参
public double getMoney(double num1, double num2) {
double money = num1 + num2;
return money;
}
c、实际参数(实参):
在调用方法的时候使用,具体传入的值;将实参的值给到指定的形参。
语法:方法名(实参)
Dog dog1 = new Dog(); // new + 默认的构造方法创建对象。创建的都是默认的对象
dog1.printDog();
// 方法的调用 参数:实际参数(实参)
double money = dog1.getMoney(200, 200); //200 200 都是实参
System.out.println(money);
实参根据形参的位置,来决定将实参和形参的进行对应;数据类型必须符号形参列表中定好的类型。
4、方法体
方法具体执行的代码块。
每个方法的具体的功能;
5、构造方法
(1)普通的方法看成是一个个具体的功能;
(2)构造方法更多是用来初始化对象值;
(3)每个类都默认有一个无参的构造方法;
(4)构造方法的语法
a.构造方法的名称必须和类名保持一致
b.构造方法没有返回值,但是也不用使用void修饰
c.默认有一个无参的构造方法,类中可以同时定义多个构造方法,参数个数,类型,顺序至少一个不一样(重载)
d.如果定义有参构造,那么默认的无参构造会自动消失,如果需要得重新自己定义
对象
1、定义
万物皆对象,具体存在的事物(现实、虚拟);
对象是类的具体表现形式;
2、创建
通过模板创建对象;通过类得到对象类型
格式:对象名 = new 构造方法(); //new得到一个对象
例如:Dog dog1 = new Dog();//创建一个狗的对象
类和对象之间的关系
类是对象的抽象,对象是类的实体;
对象是在类的模板基础之上,刻画出来的一个具体事例,在一个类上,可以创建处多个对象;
调用方法
1、同包下不同类调用方法:先new一个类创建对象,在调用方法:递归调用、嵌套调用
递归调用:在一个方法里面调用自己;一定要有出口,否则出现死递归,出现栈内存溢出异常;
嵌套调用:在方法里面调用自己;
2、不同包下类的调用:
需要导包;再进行new;