类的定义
[public] class 类名{
定义属性 实例变量,全局变量,全局变量,成员变量 一个意思
属性数据类型 属性名称 =[属性值];//...
//定义成员方法/实例方法/普通方法/非静态方法 一个意思
方法定义四要素: [修饰符] 返回值类型 方法名称1(参数数据类型 参数名称1,参数数据类型 参数名称2.。。。){
} 具体业务逻辑 [修饰符] 返回值类型 方法名称2(参数数据类型 参数名称1,参数数据类型 参数名称2.。。。){
} 具体业务逻辑
局部变量和全局变量的不同之处: 1,定义的位置不同:局部变量是定义局部范围内(方法内),
全局变量是定义在类中,方法外 2.初始化不同,对于局部变量来说,局部变量未赋值不能直接
使用(局部变量不会自动初始化),全局变量如果没有赋值,系
统会自动赋一个默认值 3,生命周期:一个对象在程序当中(内存当中)从生到死的过程
局部变量一般定义方法内,从该方法被调用开始,到该方法从栈中
弹出时消亡,
全局变量从它所在的对象被创建时开始存在,到该对象从堆当中被
垃圾回收器(gc)回收时消亡 4,存储的位置不同:局部变量大多存储在(方法栈)栈中,
全局变量一般存储在堆当中。
封装特性:
1.隐藏把功能的一些实现细节隐藏掉,对外提供功能接口,对第三方开发者
或者使用用户来说,比较方便,大大提高了后续开发的效率, 2.可以提高代码的复用性,
广义封装:
对程序当中任何高频重复性的代码进行提取的动作,都认为是一种封装
工具类的概念
工具方法(通用方法)
狭义封装:
对类当中的属性进行封装
使用关键字private
提供对应的Getter和Setter方法 Getter方法是用来在外类中获取该类当中对应的属性值
固定写法: public 属性对应的数据类型 get属性名称[首字母大小](){
return;}
Setter方法是用来在外类当中设置该类中对应的属性值
固定写法: public void set属性名称[首字母大写](属性对应的数据类型 属性名称){
this.属性名称 = 属性名称;}
构造方法:
作用:主要是用来创建类的对象(完成类的实例化)
次要作用:
在完成类的实例化的时候,对类当中定义的私有属性进行初始化(赋值)
构造方法定义的语法格式: public 当前类名(属性的数据类型 属性名称1,属性的数据类型 属性名称2....){
如果方法上面有参数,需要使用this关键字 this.属性名称1 =属性名称1; this.属性名称2 =属性名称2; this.属性名称3 =属性名称3;........
}
构造方法的特点:
1 构造方法声明格式上没有具体的返回值类型 不可使用void
(是因为该方法的返回值类型是确定的,返回值类型唯一) 2 构造方法名称需要和当前类名完全保持一致,大小写完全相同
(假如你类名写的不规范如首字母小写,那么构造器方法也要小写 3 构造方法是支持方法重载(构造方法可以在类当中定义多个) 4 构造方法修饰符一旦使用private修饰,意味着该类不能直接
在外类当中进行实例化,一般情况下需要该类当中调用其他方法
完成实例化 5 构造方法如果在该类当中没有定义过,不影响开发着进行该类的
实例化(系统会添加一个默认的构造方法),一旦你定义了其他的
构造方法那么系统会删除添加的默认构造方法--空参构造,需要开
发者手动添加this关键字:
该关键字是用在方法当中,该方法不能是一个static修饰的方法
比如main方法就是一个static修饰的关键字
意义:
当方法格式上有参数传递时,参数名称和类当中的属性名称重名了
按照Java当中的就近原则,优先使用方法声明上参数,单是对于开
发者来说使用的是类当中定义的属性,就需要使用this关键字来声
明它是属性,而不是一个参数
Getter方法
是用来在外类中获取该类当中对应的属性值
固定写法: public 属性对应的数据类型 get属性名称[首字母大小](){
return;}
Setter方法
是用来在外类当中设置该类中对应的属性值
固定写法:public void set属性名称[首字母大写](属性对应的数据类型 属性名称){
this.属性名称 = 属性名称;
Java Bean
创建一个类的时候,这个类如果主要是用来存储数据的
一般需要按照以下方式进行定义:
类的定义需要是公共的 public class 类名{}
类的属性必须是私有的 private 属性数据类型 属性名称;
类当中必须提供Getter和Setter方法 ALT+insert 快捷键生成
类当中必须有该方法 public 类名(){}
以下信息可以非标准的
类当中还需提供该方法 public 类名(声明全部的属性参数信息) {需要对类当中所以的属性都进行赋值 this.属性名称=属性名称;}
该类还需要实现 public class 类名implements Serializable{}
该类改需要提供 public String toString(){return 属性名称“”+属性名称}
如按照以上方法定义出来的类,就叫做JavaBean
Bean---(bean)描述Java的人家组件模型(Enterprise Java Bean) Java模型类 model 类 实体类------不参与业务逻辑,只存储数据