JAVA 代码块 继承

代码块: 一对大括号括起来的代码
种类:
1:局部代码块
位置: 方法中
作用 限制了局部变量的生命周期(作用域问题)

2:构造代码块
位置: 在类中 方法外
调用顺序: 在你创建对象的时候 如果你有构造代码块
系统会帮你先调用构造代码块 在调用构造方法

3:静态代码块(使用 static 来修饰)
位置: 再类中 方法外
特点: 只加载一次 并且随着类的加载而加载

4:同步代码块(属于多线程)

代码块

{
int num = 3;
System.out.println(num);

局部代码块
在方法里面的代码块
构造代码块
在类里 不在方法里面的代码块
静态代码块
也是在类里 不在方法里面的代码块 但是前面加上了static

继承
特点:
1.能够减少重复的代码
2.可以把类中相同的代码 抽出来 写成一个父类

弊端: 高内聚 低耦合

使用继承: 要符合继承逻辑
继承链接了类与类之间的关系
继承时要写关键字 extends
class 子类 extends 父类{}
例如
创建一个猫类 狗类
思考: 猫 和 狗的共同点—>都是动物
所以先创建一个动物类

class Animal{   
    String color;
    int leg;
    public void sayHi(){
        System.out.println(color + "---" + leg);
    }
}
class Cat extends Animal{
}
calss Dog extends Animal{
}

这里面的catdog都是Animal的子类 通过Animal这个类把猫和狗共同有的属性都合在一起 达到了少写代码 减少工作量

java中的继承
1.java中只允许单继承 不允许多继承 但是可以通过接口来实现多继承
2.java中允许 多层继承 就是在子类的下面还可以有子类 父类的上面还可以有父类 java中最顶端的类Object类(基类)
例子
写一个多层继承

class A{
    String name ;
    public void sayHi(){
    System.out.println("name");
    }
}
class B extends A{
}
class C extends B{
}

可以看到这里C继承了B 而B继承了A
这就是多层继承

继承中的构造方法
注意: 继承中的构造方法是不能被继承的
虽然不能被继承 但我们可以直接调用父类里面的构造方法
但是如果 你没有调用父类的构造方法的话
系统就会帮你调用父类里面的无参构造方法
而且你 有参无参的构造方法 只要你没有调用父类构造
系统都会帮你调用 这是为了继承的完整性

this和super在类中的区别
this在类中代表本类的对象(当前类的对象)
super在类中代表父类的对象

this.属性 —>可以调用到当前类的属性 如果当前类没有属性 会去父类里面找
super.属性 —>可以调用到父类的属性

this(); —>调用本类的构造方法
super(): —>调用父类的构造方法

当你没有父类的构造方法时 系统会给你一个无参的构造方法
当父类没有无参的构造方法(就是有 有参的构造方法)的时候 子类可以指定调用有参的构造方法

Override —> 方法的重写—>子类和父类的方法一致
Overlood —> 方法的重载

当子类的方法相对于父类的方法有了升级 这时可以使用方法的重写
例子

class IOS8{
    public void siri() {
        System.out.println("我能说英文和中文");
    }
}

class IOS9 extends IOS7{
    @Override
    public void siri() {
        super.siri();
        System.out.println("功能升级 我能说中文中的粤语了");
    }

}

这里的@Override就标识着 这个方法是重写父类的方法

final 修饰符
1.修饰类 —> 不能被继承
2.修饰变量 —> 不能被修改 —>相当变成了常量
3.修饰方法 —> 不能被重写
final在赋值初值的时候有两种方法
1.直接给初值
2.从构造方法中赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值