第三章
static 关键字可以修饰变量也可以修饰方法,也可以修饰静态方法
static修饰的变量叫做静态变量程序运行的时候静态放在方法去里因此给及静态方法付尚志,(支付一次值)
this 指的是限定摸个值,调用的成员变量,没有this调用的是就近原则
static 修饰变量,修饰方法,修饰对象
静态的意思开发中建议使用类名变量名的方法访问静态变量
静态方法可以直接调用静态方法 main方法可以直接调用static方法费静态应该使用getset方法peiver来调用
静态方法也不能使用费静态变量 不可以使用this.的方法来调用静态方法,因为静态方法是存放在防区去里面的不可以被调用
限制性方法去的内容因为main方法是程序的入口所以执行main方法内容静态语句开里面的内容只会执行一次静态语句快自伤而下执行
代码块:就是一大括号括起来的东西{}
局部代码块时出现在main方法里面的
public static void main (String[] args){
int i;
system.out.println(i);
}局部代码块会提高内存的利用率
构造方法快:实在main方法外面类名的里面
{
system.out.println(构造代码块);
}
static{
system.out.println(静态代码块);
}
方法执行的循序:
1.静态代码块,随着雷佳在而加载,癿只能执行一次
2.构造方法快,没创建一个对象就会执行一次,优先于构造方法执行
3.构造方法,没创建一个对象就会执行一次
继承:在Java语言当中主要描述的是俩你哥哥类之间的关系
一个子类只能有一个父类,但是父类可以有多个子类,子类继承父类之后可以使用父类的元素,或成员方法 ,如果是private继承就不可以 继承如果没有显示继承其他类那就限制的object类objec是孙工资的一个父类
继承提高了代码的复用性与维护性让类与类之间产生了多态的前提(继承)
多态:
多态要符合一下三种条件:
1.有继承;
2.有方法重写
3.有父类引用指向子类对象
instanceof:
指的是判断类型
利用if判断来排除这种错误
比利用动态会造成代码的繁重或者冗余,会不停的创建代码
但利用多态就不会产生只要创建一个汽车品牌的类对象就好了,可以达到自动传参
都太可以提高代码的扩展性减少了代码的冗余,但是穿的参数更加抽象,范围更大
要面向抽象编程,不要面向聚具体编程
final关键字
final修饰的类无法被继承
final修饰的方法无法被重写
final修饰的局部变量,一旦赋值,无法被改变
final修饰的成员变量必须初始化值。
{只要final修饰的值,无法被继承,无儿无女}
{final福德之无法被改变}
{final修饰的成员变量必须初始化值。}
抽象类(北abstract修饰的类叫做抽象类,abstract修饰的方法叫做抽象方法)
【让子类去重写构造方法】
相应代码:
这里会出现报错因为抽象打雷无法被实类化所以不能从新定义,我们要通过多态的而行之来创建一个对象进行导入
接口{在Java余元中我们可以使用interface来声明一个接口【可以理解为特殊的抽象类(里面的方法全部都是抽象的)】}
接口需要注意的地方
以为接口没有构造方法,所以无法创建接口的对象
【接口相关代码】
接口的作用:可以使项目分层,都面向接口开放,提高开发率
降低了代码之间的耦合率,缇欧高拉代码的可插拔性
【相应图例】
toString方法
equals方法
用来判断连两个方法是否相同,注意在调用自己的equals时,注意重写么不然系统默认滴哦阿勇父类的equals方法
Java里面的垃圾回收器在后说之前会先调用finalize方法
finalist方法是系统自行调用的
使用package类来声明报包名包名命名是通常使用小写
命名样式
input关键字+包名就是把下面的导报语句整理到上面的关键字
使用到不同包使用input导报语句
四种访问权限
内部类:就是一个类中还有一个类~
~静态内部类,匿名内部类,成员内部类,局部内部类
内部类的特点:
内部类可以直接访问外部类的成员,包括private修饰变量和方法
内部静态类
1.静态内部类可以等同看做静态变量
2.静态内部类可以直接访问外部类的静态数据