第5记 这几天都忙 然后没怎么学 p414
1.构造方法也是一个特殊的方法,通过构造方法可以完成对象的创建以及实例变量的初始化。
用构造方法来创造对象,并给对象的属性赋值、
2.重点 :当一个类没有提供任何构造方法,系统默认提供一个无参数构造方法
建议将无参构造手动写出来;
3, 使用new 运算符来构造方法。
-
构造方法语法结构
【修饰符列表】 构造方法名(形式参数列表 )
在一个类中没有提供任何的构造方法,系统默认提供一个无参数的构造方法,这个无参数的构造方法叫做缺省构造器。
当一个类中手动提供了构造方法,那么系统将不再提供无参数构造方法。
构造方法支持方法重载。
方法重载 在同一个类中,
编译器检测到方法名和类名不相同 会认为是普通方法,需要返回值类型;
public class User{
int id;
String name;
int Age;
}
public User{}
constructor 构造器
默认赋值。
实例变量是在构造方法执行的过程中初始化的,完成赋值的。
无参数方法体中虽然什么都没有写,但是实际上是在这个方法体中赋默认系统值。
构造方法就是完成对象的初始化和对成员变量的赋值
缺省构造器 无参构造方法
作用一 创建对象
作用二 给属性赋值
使用new来构造方法
构造方法的方法名和类名一致
构造方法没有返回类型
构造方法可以支持重载
为了防止缺省构造器丢失,手动写出来
没有返回值类型 也不用写void
面向对象的三大特征
封装 继承 多态
封装、
作用
保证内部结构的安全性
屏蔽复杂 暴露简单
在代码级别上
对于代码的调用人员来说 不需要关心代码的复杂实现,只需要通过一个简单的入口就可以访问了,类体中的安全级别较高的数据封装起立,外部人员不能随意访问,来保证数据的安全性。
怎么封装
private 私有彻底在外部不能访问了。
被这个关键字修饰了之后,数据只能在本类中访问。
出了这个类,age属性就无法访问了。私有的。
对外部提供简单的访问入口,外部程序,只能通过调用以下的代码来完成访问。
get 来读
set 来写
带static 的方法调用 通过类名. 的方式访问(同一个类中。类名。可以省略)
没有static的方法,称为实例方法(对象方法,对象级别的方法)

没法用类名.的方式调用
要先new一个对象 用 引用.的方式来访问实例方法、

public class NullPoint{
}
一个实例方法的调用也必须有对象的存在,
null 空指针异常
对外提供公开的set和get 方法作为操作入口并且不带static
private class Person{
private int age;
public int getage(){
return age;
}
public void setage(int niangling)
{
age=nianling;
}
}
java 开发规范中要求,set方法和get满足以下要求
get
public 返回值类型 get +属性名首字母大写(无参){
return XXX;
}
set
public void set +属性,名首字母大写(有1个参数)
XXX = 参数;
}
集成开发工具 自动生成。
通过 “类名。” 不能调用set 和get
system.out.println.(p1.getage());
封装的代码实现
-
属性私有化
-
1个属性对外提供两个set 和get的方法,外部程序只能通过set方法来修改,只能通过get来读取
可以在set方法中设立关卡 来保证数据的安全性
set 和get 都是实例方法 不能带static
不带static的方法是实例方法,实例方法调用前必须先new对象

static关键字
-
静态的
-
所有static修饰的都是类相关的,类级别的
-
所有static 修饰的都是采用 类名。 的方式访问
-
static修饰的变量 静态变量
-
static修饰的方法 静态方法
变量的分类
方法体当中声明的叫 局部变量
外的叫成员变量
成员变量 又分 实例变量 和静态变量

不需要对象 static 不会出现空指针异常
什么时候 变量声明为实例的还是静态的
不会随对象改变而改变 显然是整个类的变量
注意: 只要是方法,不管是静态方法,实例方法 构造方法 他们在运行的时候都需要压栈、
静态变量 :加static 的变量叫做静态变量
静态变量在类加载的时候初始化,不需要new对象,静态变量的空间就开出来了
静态变量存储在方法区
静态变量应该用类名。的方式访问
如果所有对象的某个属性值都是一样的
不建议定义成实例变量。浪费内存空间 ,建议定成类级别的特征,定义为静态变量,在方法区中保留一份,节省内存开销。
实例的 一定需要使用 “引用。”来访问
静态的 使用类名 。 来访问 但使用 引用、 也行 (不建议使用引用)
static
浙公网安备 33010602011771号