一、面向对象基础(类和对象)
1.什么是类和对象
- 对象:客观存在的事物都可称为对象,所以万物皆对象
1.类的理解:
1)类是现实生活中一类具有具体的属性和行为特征的抽象
2)类是对象的数据类型,类是相同属性和行为的对象的集合
3)简单的理解,对象是类的具体表现,类是具体事物的一种描述
2.类的组成:
1)属性:☞事物的特征,如: 学生的年龄,姓名之类的;
2)方法:☞事物的行为:如:学生在学习,学生在吃饭等.
3.如何创建类
权限修饰符 返回值类型 类名(参数){
1,定义成员变量
2,定义成员方法}
//代码的演示:
/*
手机类:
类名:
手机(Phone)
成员变量:
品牌(brand)
价格(price)
成员方法:
打电话(call)
发短信(sendMessage)
*/
public void Phone(){
//定义成员变量(手机的品牌和方法)
String brand;
double price;
void call(){
System.out.println("学生在打电话");
}
void sendMessage(){
System.out.println("学生在发邮件")
}
}
4.对象的调用
- 创建对象的格式:
– 类名 对象名 = new 类名(); - 对象的调用:
– 对象名.成员变量
– 对象名.成员方法.
//代码的演示:
/*
创建对象
格式:类名 对象名 = new 类名();
范例:Phone p = new Phone();
使用对象
1:使用成员变量
格式:对象名.变量名
范例:p.brand
2:使用成员方法
格式:对象名.方法名()
范例:p.call()
*/
public class phoneDemo(){
public static void main(String[] args){
//实例化对象
Phone p = new Phone();
//调用成员变量,并给成员变量赋值
p.brand = "小米";
p.price = 4999.99;
p.call(); //输出学生在打电话
p.sendMessage(); //输出学生在发邮件
}
}
2.补充:
1.构造方法
我们在创建完对象以后,Java会自动的在类中默认生成一个无参的方法,我们称为构造方法
//代码的演示:
public class Student(){
Student(){
/*如果下面的构造方法没有重载,则系统会默认提供这个方法,
下面的方法写了,则要手动添加这种方法(如果需要这个空参构造)
*/
}
Student(int age, String name){
System.out.println("这是一个有参的构造方法!")
}
}
2.方法的重载(overload/overloading)
方法写在同一个类中,方法名相同,参数列表不同,即方法的签名不同
java在编译的时候会根据方法的参数来自动绑定不同方法
//代码的演示
public class Student(){
int age;
String name;
Student(){
System.out.println("这是一个空参的构造方法!")
}
Student(int age, String name){
System.out.println("这是一个有参的构造方法!")
}
}
//调用
public class studentDemo(){
public static void main(String[] args){
Student s = new Student();//这里其实已经调用了Student类中的空参构造了
s.age = 18;
s.name = "小库"
//这里调用的是重载过的有参构造的方法
Student s1 = new Student(18,"小库");
}
}