Java中的对象是对现实中对象的抽象化,Java中的对象包括属性和方法
如何定义类
1:定义类名
符合标识符规范,必须是英文字母,首字母要大写
public class Student{
属性
方法
}
2:定义类的属性
//定义属性
String id; //学号
String name; //学生姓名
String grade; //学生年级
3:定义类的方法
访问控制符 [修饰符] 返回值类型 方法名( [参数] ) {
方法体
}
public void readBook() {
System.out.println(name + “正在读书……");
}
//定义写作业方法
public void doHomework() {
System.out.println(this.name + “正在写作业……");
}
创建对象
public class TestStudent {
public static void main(String[] args) {
Student student = new Student();//创建李四学生类对象
student.id = "wl2014001";
student.name = "李四";
student.grade = "三年级";
student.readBook();//调用学生读书方法
student.doHomework();//调用学生写作业的方法
}
}
面向对象与面向过程的区别
1:面向对象是以对象为中心以消息为驱动,从宏观方面考虑问题
2: 面过程是以过程为中心以算法为驱动,从微观方面考虑问题
3:面向对象的过程中也面向过程
访问控制符
1:用于限制方法在其他类中的使用范围;
2:四种访问控制符:
public protected 友好的(即没有访问控制符) private
修饰符
static修饰符用于限制方法的调用
static修饰的方法可以直接用类名调用或创建的对象调用
非static修饰的方法只能用创建的对象调用
返回值类型
1:方法没有返回值时用void
2:有返回值时返回值类型必须是方法所属的数据类型或精度更高的数据类型
3:方法返回引用数据类型时返回值是方法所属的数据类型或其父类
4:返回值用return
public class Student {
public Object getInfo(String name, String address) {
return name + "-" + address;
}
public static void main(String[] args) {
Student student = new Student();
Object object = student.getInfo("张三", "中国.河南");
System.out.println(object);
}
}
动态参数
1:动态参数的实质为数组
2:一个方法只能有一个动态参数
3:动态参数只能放在参数类表的最前端
public class Test {
public static void print(int... numbers) {
for (int number : numbers) {
System.out.println(number);
}
}
public static void main(String[] args) {
print(1, 2, 3, 4, 5);
}
}
方法重载
同一个类中有多个方法名相同但参数列表不同的方法,这种现象称为方法重载(overload)其中参数列表不同包括以下情形:
1、参数的个数不同
2、参数的对应类型不同