什么构造方法
是一个特殊的方法 1)方法名和类名相同 2)没有具体的返回值类型 3)也没有void 构造方法的使用注意事项 1)构造方法是没有返回值的,所以不要随意定义构造方法 2)如果我们写的一个非测试类的类中没有提供任何的构造方法,系统就会默认给我们提供无参构造方法 3)如果给了其中的有参构造方法,系统就不会再提供无参构造方法 所以当在无构造方法的类中new对象的话 就会报错 构造方法可以重载 构造方法的目的就是给成员变量赋值的 给成员变量数据初始化 1)通过无参构造方法+setXXX()赋值,通过getXXX()获取值 2)通过有参构造方法直接赋值,+getXXX()获取值
类成员中加入构造方法
给成员变量数据初始化的方式: 1) 通过无参构造方法 setXXX赋值 getXXX获取值 2)通过有参构造方法直接辅助 +getXXXX获取值 内存中每一个类都有自己的签名信息 即版本ID
static关键字
static -----静态修饰符 可被多个对象共享 特点 1) 被static修饰的变量或者方法---都称为"类变量/类方法" 因为他们是随着类的加载而加载,优先于对象先存在的 2) static不能和this共存!!! this.变量名 代表当前类对象的地址值引用 ---创建了对象 this.方法名 访问当前类的成员方法 static 是要优于对象存在的 两个肯定不能共存(生命周期不一致); \ 3)static的基本特点: 共享共用 (如果需求中符合,可以共用) 4) 被静态修饰的变量/方法 推荐的访问方式: 类名.变量名 类名.方法名 也可以通过对象名.访问 但是不建议,因为这种访问方式,对象名.静态变量/方法,带入不出来 需要自己手动拼写 手动补全可以访问 非静态的成员方法 可以访问静态的,也可以访问非静态的 静态的方法只能访问静态的东西(即静态变量/里面调用的都是静态方法) 总结的说: ----- 静态只能访问静态 一般来讲 方法都是非静态方法 如果需求明确 大部分为静态方法
代码块--->静态代码块--构造代码块---构造方法:优先级
局部代码块 在方法定义中的{},作用:限定变量的生命周期 构造代码块 在类的成员位置(类中方法外),{},作用;可以对成员的数据进行初始化 特点:如果一个类中有构造代码快,先执行的是构造代码块,然后执行构造方法 构造代码块的优先级高于构造方法 (构造方法执行几次,构造代码块就执行几次) 静态代码块: 格式 static{ } 静态的东西---优先于对象存在,那么静态代码块也一样,先执行 由于类就加载一次,所以静态代码块也就执行一次!!! 静态代码块>构造代码块>构造方法 执行前,判断组成,知道执行顺序
6.继承
将多个类的共性内容抽取出来放在一个独立的类中,那么这个独立的类和这多个类产生的关系就是继承关系 关键字 extends 格式 class 父类名{ class 子类名 extends 父类名{ } } 继承的好处: 1)提高了代码的复用性 2)提供了代码的维护性 3)类与类之间的继承关系,是"多态"的前提条件