JAVA 代码块 继承

来源:互联网 发布:宋代权知开封府事 编辑:程序博客网 时间:2024/06/06 08:44

一、代码块

  • 局部代码块
    • 位置 : 方法中
    • 作用 : 限制了局部变量的生命周期(作用域)
  • 构造代码块
    • 位置:类中,方法外
    • 作用:如果每个对象中都有相同的方法,可以在构造代码块中调用
  • 静态代码块
    • 位置:类中方法外使用static修饰的代码块
    • 作用:只加载一次,随着类的加载而加载
举例    public static void main(String[] args) {        //局部代码块        在方法中        {             int num = 10;             System.out.println(num);//直接打印数字10        }    }    class Demo{        String name = "张三";        //构造代码块 在类中 方法外        {            System.out.println(name);//打印name 张三        }        //静态代码块,在类中方法外使用static修饰的        static        {            System.out.Println(name);//打印name  张三  调用次数再多只打印一次        }    }

二、继承

  • 继承特点
    • 减少代码的重复量
    • 减少你的工作量
    • 可以把类中相同的代码抽取出来,写成一个父类
  • 继承弊端
    • 高内聚 低耦合
  • Java中的继承
    • java中只允许单继承,不允许多继承(可以用接口,来实现多继承效果)
    • java中允许多层继承(属性和方法会传递)
      注意 : 构造方法是不会被继承的
举例class Animals{                      //动物的父类    String name;    String color;    int leg;}class Cat extends Animals{          //Cat继承了Animals父类  继承关键字extends    name = "猫咪";    System.out.Println(name)        //打印name猫咪   Cat类中并没有定义name 说明从Animals中继承了name}

继承中的构造方法:
请注意:构造方法是不能够被继承的
那么,如何去使用父类的构造方法呢?

举例class Father{    String name;    public void sayHi(){            System.out.println(name);        }    public Father(){        System.out.Println("我是无参构造方法");    }    public Father(String name){        this.name = name;        System.out.println("我是有参构造方法");    }}class Sun extends Father{    public Sun(){        //如果你没有调用父类的构造方法        //那么系统会给你在这里调用一下父类无参构造方法        //调用父类的无参构造方法        super();        System.out.println("我是儿子,无参的构造方法")    }    public Sun(String name){        //如果你什么都没写        //不管你有参无参的构造方法        //只要你没有调用父类构造方法  系统都会帮你调用        //保证继承的完整性        super(name);        System.out.Println("我是儿子,有参的构造方法")    }}

三、final 修饰符

  1. 修饰类 不能被继承
  2. 修饰变量 不能被修改
  3. 修饰方法 不能被重写

这里写图片描述

原创粉丝点击