类和对象:
类:是对象共同特征的描述
对象:是真实存在的具体东西
类的定义:
public class 类名{
1.成员变量(代表属性,一般是名词)
2.成员方法(代表行为,一般是动词)
3.构造器
4.代码块
5.内部类
}
创建对象:
类名 对象名 = new 类名();
注意事项:
1.用来描述一类事物的类叫做javabean类,在Javabean类中没有main方法,带有main方法的类叫做测试类。
2.类名首字母建议大写,需要见名知意,采用大驼峰命名格式,并且符合标识符的命名规则。
3.一个java文件中可以定义多个class类,且只能有一个类是public修饰,而且该public修饰的类名必须成为代码文件名,实际开发中建议一个文件定义一个类。
4.成员变量一般无需指定初始化值。
类的封装:对象代表什么,就得封装对应的数据,并且提供数据对应的行为。
private关键字:是一个权限修饰符,可以修饰成员变量和成员方法,被private修饰的成员只能在本类中才能被访问。所有的属性都应该被private修饰,并且类中应该提供public所修饰对应的get和set方法。
setXXX方法:给对应的成员变量赋值
getXXX方法:获取对应的成员变量的值
就近原则:
当类的方法中成员变量和局部变量同名时,会使用最近的那个变量
如果要使用成员变量,则需要使用this关键字
构造方法:
构造方法也叫作构造器、构造函数
可以在创建对象时给成员变量进行赋值
修饰符 类名(参数){
方法体;
}
1.构造方法的方法名和类名相同,大小写一致
2.没有返回值类型,连void也没有
3.没有具体的返回值,不能由return带回结果数据
4.创建对象时由虚拟机调用构造方法,不能手动调用构造方法
5.每创建一个对象就会调用一次构造方法
构造方法注意事项:
1.如果没有定义构造方法,系统将给出一个默认的无参数构造方法
2.如果定义了构造方法,系统将不再提供默认的构造方法
3.带参数的构造方法和无参数的构造方法两者方法名相同,但是参数不同,这叫做构造方法的重载
4.无论是否使用都手写无参数的构造方法和带有全部参数的构造方法
标准的Javabean类:
1.类名需要见名知意
2.成员变量使用private修饰符修饰
3.提供至少两个构造方法:无参构造方法和带有全部参数的构造方法
4.对每一个成员变量提供对应的setXXX()/getXXX()方法
一个对象的内存图:
1.加载class文件
2.声明局部变量
3.在堆内存中开辟一个空间
4.默认初始化成员变量
5.显示初始化成员变量
6.构造方法初始化成员变量
7.将内存地址赋值给左边的变量
成员变量和局部变量的区别:
区别 | 成员变量 | 局部变量 |
类中位置 | 类中,方法外 | 方法内,方法声明上 |
初始化值 | 有默认初始化值 | 没有,使用之前需要完成赋值 |
内存位置 | 堆内存 | 栈内存 |
生命周期 | 随着对象的出现而出现/随着对象的消失而消失 | 随着方法的调用而存在/随着方法的结束而消失 |
作用域 | 整个类中有效 | 只在当前方法中有效 |