文章目录
类和对象
首先3个问题:
1. 创建一个类
创建一个学生类,成员变量是姓名和年龄,然后定义构造方法,以及setXxx方法和getXxx方法,分别来赋值和获取。
public class Student {
// 定义成员变量
private String name;
private int age;
// 空参构造函数
public Student()
{
}
// 有参构造函数
public Student(String name,int age)
{
this.name = name;
this.age = age;
}
/*
// 针对每一个私有化变量,都要提供get和set方法
// set方法:给成员变量赋值
// get方法:对外提供成员变量的值
*/
// 给成员变量name进行赋值
public void setName(String name)
{
this.name = name;
}
// 对外提供name属性的值
public String getName()
{
return this.name;
}
// 给成员变量age进行赋值
public void setAge(int age) {
this.age = age;
}
// 对外提供age属性的值
public int getAge() {
return age;
}
}
举的例子其实就是个 标准的javabean类 (javabean类:用来描述一类事物的类,不需要写main方法,IDEA中快捷键是 Alt+Insert )
2. 创建一个对象
public class StudentTest{
public static void main(String[] args){
// 创建一个Student类对象
Student std1 = new Student();
//创建一个带参数的Student类对象
Student std2 = new Student("zangsan",23);
}
}
3. 访问变量和方法
public class StudentTest{
public static void main(String[] args){
// 创建一个Student类对象
Student std = new Student();
std.setName("lisi");
std.setAge(24);
String name = std.getName();
int age = std.getAge();
System.out.println(”姓名:“+name+” “+”年龄:“+age)
}
}
some tips:
(1)构造方法
以三个问题回顾一下构造方法:
Q | A |
---|---|
构造方法的作用? | 创造对象的时候,由 虚拟机自动调用 ,给成员变量进行初始化的 |
构造方法有几种? | 无参构造方法:初始化的对象时,成员变量的数据均采用默认值。 有参构造方法:在初始化对象的时候,同时可以为对象进行赋值。 |
构造方法的注意事项? | (1)任何类定义出来,默认就自带了无参数构造器 (2)定义了有参构造器,无参数构造器就没有了 (3)建议在任何时候都手动写上 空参和带全部参数 的构造方法 |
(2)this关键字
可以 区分成员变量和局部变量 ,与python中的self相似;
代表方法调用者的地址。
this的内存原理如下:
(3)private关键字
- private关键字是一个权限修饰符,可以修饰成员(成员变量和成员方法);
- 被private修饰的成员 只能在本类中才能访问 ;
- 针对private修饰的成员变量,如果需要被其他类使用,提供相应操作,如:提供setXxx(参数)方法**,用于给成员变量赋值,方法用public修饰;提供 getXxx()方法 ,用于获取成员变量的值,方法用public修饰。
面向对象三大特性:封装,继承&#x