类:是对象的数据类型;具有想同属性和行为的一组对象的合集
简单来说,类由属性和行为组成。
行为:对象能够进行的操作
对象的使用:类名 对象名= new 类名()
使用成员变量: 对象名.变量名
使用成员方法:对象名.方法名()
成员变量与局部变量:定义在类中的变量为局部变量;定义在类的成员函数的变量为局部变量
成员变量存储在堆内存中,局部变量存储在栈内存中
private:权限修饰符,可以修饰成员(成员变量,成员函数);保护成员不被别的类使用,只有本类中访问
针对private修饰的成员,如需被其他类使用,Java中提供了两种方法:get变量名(),获取变量的值,用public来修饰;set变量名(参数),设置成员变量的值,用public来修饰;例如获取私有变量age 的值, get Age(int a){age=a;}
public class S {
String name;
private int age;
public void setAge(int a){
if(a<0||a>120){
System.out.println("你输入的年龄有误");
}else{
age=a;
}
}
public int setAge(){
return age;
}
测试文件
public class Studentdome {
public static void main(String[] args){
S stu=new S();
stu.name="李星辰";
stu.setAge(3);
stu.setAge();
System.out.println(stu.name+","+stu.setAge()+"岁");
stu.study();
stu.doHomework();
}
}
private int age;
public void setAge(int age){
if(age<0||age>120){
System.out.println("你输入的年龄有误");
}else{
this.age=age;
}
使用this关键字;代指的就是成员变量;橙色age就特指的是声明的变量age,红色的为形参
面向对象的三大特征之一(封装,继承,多态);是面向对象编程语言对客观世界的模拟,客观世界成员变量都隐藏在对象内部,外界无法直接操作。
封装原则:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过方法进行访问。
构造方法是一种特殊的方法。作用:创建对象。
public class 类名{
修饰符 类名(参数){
}
}
功能:主要是完成对象数据的初始化
public class student {
private String name;
private int age;
public student(){
System.out.println("无参构造方法");
}
public void show() {
System.out.println(name + "," + age);
}
}
在测试文件中,我们student s=new student();
会自动调用
一旦提供了构造方法,系统将不再给出默认的无参数构造方法,若构造方法为有参数的,必须在测试文件中student s=new student(参数)添加参数
成员变量使用private修饰
构造方法:提供一个无参构造方法,提供多个带参构造方法
成员方法:提供每个变量的get set方法,以及显示结果的show方法
public class student {
private String name;
private int age;
public student() {
}
public student(String name, int age) {
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void show() {
System.out.println(name + "," + age);
}
}
测试文件
public class studentdome {
public static void main(String[] args) {
student stu = new student();
stu.setName("李---");
stu.setAge(20);
stu.show();
student stu2 = new student("胡=---", 21);
stu2.show();
}
}