1.什么是类?什么是对象?
现实世界是由很多对象组成的,基于对象抽出了类
对象:软件中真实存在的单个个体/东西
类:类型/类别,代表一类个体
类是对象的模板,对象是类的具体实例
类中可以包含:
对象的属性/体征/数据-----------成员变量
对象的行动/动作/功能-----------方法
一个类可以创建多个对象
2.如何创建类?如何创建对象?如何访问成员?
public class Student {
//成员变量
String name;
int age;
String address;
//方法
void study(){
System.out.println(name+"在学习...");
}
void sayHi(){
System.out.println("大家好,我叫"+name+",今
年"+age+"岁了,家住"+address);
}
}
public class StudentTest {
public static void main(String[] args) {
//创建一个学生对象
Student zs = new Student();
//访问成员变量
zs.name = "zhangsan";
zs.age = 25;
zs.address = "河北";
//调用方法
zs.study();
zs.sayHi();
Student ls = new Student();
ls.name = "lisi";
ls.age = 24;
ls.address = "北京";
ls.study();
ls.sayHi();
//1)创建了一个学生对象
//2)给成员变量赋默认值
Student ww = new Student();
ww.study();
ww.sayHi();
}
}
3.方法放重载(overload/overloading): -----------------便于用户的访问
发生在同一类中,方法名相同,参数列表不同
编译器在编译是会根据方法的签名自动绑定方法
public class OverloadDemo {
public static void main(String[] args) {
Aoo o = new Aoo();
o.show();
o.show("zhangsan");
o.show(25);
o.show("zhangsan",25);
o.show(25,"zhangsan");
//o.show(25.678); //编译错误,没有double型参数的show方法
}
}
class Aoo{
void show(){}
void show(String name){}
void show(int age){}
void show(String name,int age){}
void show(int age,String name){}
//int show(){ return 1; } //编译错误,重载与返回值类型无关
//void show(String address){} //编译错误,重载与参数名称无关
}
4.补充:
OO:面向对象
OOA:面向对象分析
OOD:面向对象设计
OOP:面向对象编程
4.1:高质量代码
复用性好,拓展性好,维护性好,可移植性好.
健壮性好,可读性好,效率好.......
4.2类:是一种引用数据类型
4.3创建对象
引用
数据类型 引用类型变量 指向 对象
Student zs = new Student();
//一个学生类型引用zs指向了一个学生对象
4.4默认值规则:
byte,short,int,long,char-----------------0
float,double-----------------------------0.0
boolean----------------------------------false
引用类型-----------------------------------null