javabean (标准类)的书写格式
1.1成员变量私有化
1.2提供getters和setters方法
1.3提供无参构造
1.4提供有参构造
同名的成员变量和局部变量
eclipse 快速生成快捷方式:
快速生成get和set的方法: 右键 source generate getters and setters 选择 stellall ok
直接生成无参:右键 source generate generate conctractor using fields
直接生成有参:右键 source generate generate conctractor from superclass
匿名对象: 只是用于我只创建这一个对象一次 一会不再使用
格式: new 类.方法();
static关键字
被他修饰的方法为静态方法
被他修饰的变量叫做静态变量
他优先于对象,所有的静态都是随着类的加载而加载的
静态只能调用静态 如果想要调用非静态 必须创建对象
静态定量是被全局共享的 也被称为被所有对象共享
他是可以通过类名调用:类名.静态属性或方法
大部分情况下 用static修饰 都是为了调用方便
代码块
静态代码块:格式 static{方法体} 优于一切 随着类加载而加载 只运行一次 随着类的消失而消失
构造代码块:格式: {方法体} 由于构造方法 ,在构造方法之前运行 作用初始化构造方法 对对象进行初始化
局部代码块:在方法中{执行代码} 作用将只用一次的变量放入局部代码块中 节约内存 随着局部代码块执行完毕,
变量或对象随之消失
执行顺序 静态代码块 构造代码块 构造方法
继承 关键字:extends
具有相同属或 方法时,将内容抽取到单独一类,这种类被其他类继承,这个类叫父类
class 子类 extends 父类{} 例 class F {string name ;} class S extends F{} 此时 S具有F的name变量
基本上所有的类都继承于Object
被继承的类称为父类基类超类 继承的类叫做子类 派生类
特点 只能支持单继承 不能进行多次继承 但可以多层继承
作用 节约代码时间 提高代码维护 让类与雷之间产生关系(多态将)
弊端:类与类之间耦合性很强
注意:子类只能继承父类所有非私有的成员(成员变量,成员方法)
子类不能继承父类的构造方法,但是可以通过super关键字去访问父类构造方法。
不要为了部分功能而去继承
如果子类和父类中有相同的属性,则赋值时,先找子类再找父类 也可以通过直接This.变量和super.变量直接调用
this和super
当本类无参时,调用有参构造,需要在方法中创建相应的参数
如果不调用父类的崇明的成员属性,就要用this();来接受,(调用本类无参结构)
如果没有重名成员属性,无论使用this 还是super 调用的都是父类的成员
子类想要创建对象 必须调用父类的无参构造
This(); 调用本类的构造方法
super();调用父类的构造方法 其中 这两个只能出现一个且必然是第一行;而且他们两个只在构造方法中出现
方法的重写:如果父类中存在方法,而子类的方法命名相同,则可以直接重写覆盖
重载与重写:
重载 方法名相同 参数类型不同 与返回值无关
重写 方法声明相同 方法不同 且方法是在子类和父类中同时出现的 其必须是父类和子类两个方法之间的
关键字 fimal 最终
修饰类时 : 类不能被继承
修饰变量时 变量就成了常量 只能被赋值一次
修饰方法 方法不能被重置
注 fimal在修饰基本类型是不能被修改 引用类型时 地址不可修改 但成员变量可以重新赋值
设计模式(基本有23种)
现学仅 单力设计模式:(只有一个实例存在)
饿汉式:
class A{
private static fimal A a = new A();
private A(){
}
public static A getInstance(){
reture a;
}
}
懒汉式
class A{
private static fimal A a ;
private A(){
}
public static A getInstance(){
if (a=null){
a=new A();}
reture a;
}
}