一、面向对象
1.成员变量:和以前定义变量几乎是一样的,只不过位置变成了在类中,方法外
2.成员方法:也跟以前一样,只不过把static去掉(之后会总结)
3.在栈内存中运行的方法,遵循"先进先出,后进后出的原则"
4.成员变量和局部变量的区别:
(1)在类中的位置不同:前者是在类中,方法外;后者是在方法内,或者方法声明上(形式参数).
(2)作用范围不一样:前者是在类中,后者是在方法中
(3)初始化的值不相同:前者有默认值,就是上图;后者没有默认值,需要先定义赋值后才可以使用
(4)在内存的位置不同:前者在堆空间,后者在栈空间
(5)生命周期不同:前者随着对象的创建以及消失而存在或者消失;后者随着方法的调用存在或者消失.
二、封装:提高代码的安全性
1.使用private关键字进行修饰.使用一对get,set方法来访问修饰的成员变量;
2.private 数据类型 变量名;
public class Student{
private String name;
peivate int age;
public void setName(String n){
name=n;
}
public String getName(){
return name;
}
public void setAge(int a){
age=a;
}
public void getAge(){
return age;
}
}
3.this关键字:this代表所在类的当前对象的引用(地址值),即对象自己的引用
public class Student {
private String name;
private int age;
public void setName(String name) {
name = name;
}
public void setAge(int age) {
age = age;
}
}
this.成员变量名;
public class Student {
private String name;
private int age;
public void setName(String name) {
//name = name;
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
//age = age;
this.age = age;
}
public int getAge() {
return age;
}
4.构造方法:
(1)格式: 修饰符 构造方法名(参数列表){
//方法体
}
(2)构造方法的方法名和他所在类的类名相同,它没有返回值,所以不需要返回值类型,甚至不需要void(系统默认会提供一个无参构造方法)
public class Student {
private String name;
private int age;
// 无参数构造方法
public Student() {
}
// 有参数构造方法
public Student(String name,int age) {
this.name = name;
this.age = age;
}
}
.