1 什么是类? 什么是对象?
==现实生活中是由很多很多对象组成,基于对象抽出了类
==:软件中真实存在的单个个体/东西
类: 类别/类型,代表一个类个体
==类是对象的莫子,对象是类的具体的实例
类中可以包含
= 对象的属性/特征------------成员变量
= 对象的行为/动作------------方法 =一个类可以创建多个对象
2 如何创建类? 如何创建对象? 如何访问成员?
public class Student { //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();
? }
}
二 方法的重载(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");
? }
}
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){} //编译错误,重载与参数名称无关
}
补充:
-
高质量的代码:---------------------以后的目标、拿年薪
- 复用性好、扩展性好、维护性好、可移植性好\健壮性好、可读性好、效率好......
-
默认值规则:
byte,short,int,long,char-------------0 float,double-------------------------0.0 boolean------------------------------false 引用类型------------------------------null ? -
//若想访问对象,需要通过引用zs ? ? ? ? ? ?引用 数据类型 ?引用类型变量 ? 指向 ? ? ? 对象 Student ? ? zs ? ? ? ? = ? ?new Student();
4方法的签名:方法名+参数列表
|