定义类和对象
/**
* 描述学生事物
* 属性:姓名,年龄,性别
* 行为:吃饭,睡觉,学习
*/
public class Student {
//属性,和原来定义一个变量的语法是一样的
//成员变量,可以不用赋初始值
String name;
int age;
char sex;
//行为,和原来定义的方法语法是一样的,不需要加static关键字
//成员方法
public void eat(){
System.out.println("吃饭");
}
public void sleep(){
System.out.println("睡觉");
}
public void study(){
System.out.println("学习");
}
}
创建类的对象,使用对象中的属性和方法
//如何创建这个类的对象呢?
Student s=new Student();//栈中
s.name="张三";//堆中
//调用对象中的方法
s.eat();
s.sleep();
s.study();
封装
属性的封装:使用关键字private,提供公共的get和set
成员变量和局部变量重名时使用this关键字区分
构造方法
构造方法也是方法,和普通方法的区别,构造方法没有返回值,构造方法的方法名和类名一致
在创建对象的时候就会调用构造方法,构造方法的作用:给成员变量赋值
如果一个类中没有定义构造方法,系统会默认提供一个无参的构造方法
如果一个类中已经显示的定义构造方法,那么系统将不会提供无参的构造方法
public Student(){}//无参
public Studtent(String name){}//一个参数
idea快捷键ALT+Insert建立构造,get,set
方法
方法就是完成特定功能的代码块
方法的格式
修饰符 返回值 方法名(参数类型1 参数名1,参数类型2 参数名2,…){ 完成此功能的代码块 }
方法的重载
方法名相同,参数列表不同的方法称为方法的重载
方法重载的三种情况:
1.参数个数不同
·2.参数类型不通
3.参数顺序不同