一、什么是类?什么是对象?
1.现实世界是由很多很多对象组成的,基于对象抽出了类
2.对象:软件中真实存在的单个个体/东西
类:类型/类别,代表一类个体
3.类是对象的模板,对象是类的具体实例
4.类中可以包含:
(1)对象的属性/特征/数据----------成员变量
(2)对象的行为/动作/功能----------方法
5.一个类可以创建多个对象
二、如何创建类?如何创建对象?如何访问成员?
//学生类
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 = 18;
zs.address = "河北廊坊";
//调用方法
zs.study();
zs.sayHi();
Student ls = new Student();
ls.name = "lisi";
ls.age = 24;
ls.address = "黑龙江佳木斯"
ls.study();
ls.sayHi();
//1)创建一个学生对象
//2)给成员变量赋默认值
Stysent ww = new Student();
ww.study();
ww.sayHi();
}
}
三、方法的重载(overload/overloading):
1.发生在同一个类中,方法名相同,参数列表不同
2.编译器在编译时会根据方法的签名自动绑定方法
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(){}//编译错误,重载与返回值类型无关
//void show(String address){}//编译错误,重载与参数名称无关
}
补充
1.OO:面向对象
OOA:面向对象分析
OOD:面向对象设计
OOP:面向对象编程
2.高质量的代码:复用性好、扩展性好、维护性好、可移植性好、健壮性好、可读性好、效率好…
3.类:是一种引用数据类型
4.创建对象:
数据类型 引用类型变量 指向 对象
Student zs = new Student();//一个学生类型引用zs指向一个学生对象
5.默认值规则:
byte,short,int,long,char-----------------0
float,double-----------------------------0.0
boolean----------------------------------false
引用类型-----------------------------------null
6.方法的签名:方法名+参数列表
8.明日单词
1)this:这个
2)Pointer:指针
3)random:随机