1.什么是类,什么是对象
类:是一类个体
对象:是软件中真实存在的单个个体
类是对象的模子,对象是类的具体实例
类是一种引用数据类型
类可以包含:
对象的属性----------成员变量
对象的行为----------方法
一个类可以创建多个对象。
2.如何创建类?如何创建对象?如何访问成员?
//创建一个Student类,不写main方法
public class Student{
//成员变量----对象的属性
String name;
int age;
//方法-------对象的行为
void study(){
System.out.println(name+"正在学习");
}
void sayHi(){
System.out.println("大家好,我叫"+name+"今年"+age+"岁了");
}
void playWith(String anotherName){
System.out.println(name+"正在和"+anotherName+"玩");
}
}
//创建另一个测试类Test,写main方法
//创建对象,访问成员
public class Test(){
public static void main (String[] args){
//创建一个Student对象
//类型 引用 指向 新建对象
Student zs = new Student();
zs.name="张三";//给zs的name赋值为张三
zs.age=25;//给zs的age赋值为25
//调用方法
zs.study();
zs.sayHi();
zs.playWith("李四");
}
}
3.this关键字
this:指向当前对象,哪个对象调用方法就指向哪个对象
只能用在方法中,方法中访问成员变量之前默认有个this.
this.成员变量名----------访问成员变量
当成员变量与局部变量同名时,访问成员变量必须加this.
this.方法名()-------调用方法(一般不用)
this()-----------------调用构造方法(一般不用)
4.构造方法
作用:给成员变量赋初始值
语法:与类同名,没有返回值类型(连void都没有)
调用:在new的时候会自动调用
若不写构造方法会默认创建一个无参的构造方法,若写了,就不会默认创建构造方法了。
构造方法可以重载
//创建一个Student类
public class Student{
String name;
int age;
String address;
Student(){//无参的构造方法
}
Student(String name,int age,String address){//重载后,有参的构造方法
this.name=name;
this.age=age;
this.address=address;
}
void study(){
System.out.println(name+"正在学习");
}
void sayHi(){
System.out.println("大家好,我叫"+name+"今年"+age+"岁了,家住"+address);
}
void playWith(String anotherName){
System.out.println(name+"正在和"+another+"玩");
}
}
//创建一个测试类
public class Test{
public static void main(String[] args){
//调用无参构造
Student zs=new Student();
zs.name="张三";
zs.age=25;
zs.address="北京";
zs.sayHi();
zs.study();
zs.playWith("李四");
//调用有参的构造方法,会比无参的省事,增加代码复用
Student ls=new Student("李四",23,"山东");
ls.study();
ls.sayHi();
ls.playWith("王五");
}
}
5.补充
OO:面向对象
OOA:面向对象分析
OOD:面向对象设计
OOAD:面向对象分析与设计
OOP:面向对象编程
高质量代码的特性:
复用性好,扩展性好,维护性好,移植性好,可读性好,健壮性好,效率好
默认规则:
byte,short,int,long,char ---------默认为0
float,double----------------------默认为0.0
boolean-------------------------默认为false
引用类型-------------------------默认为null