• 7.13 作业 韩宗轩


    1:代码块是什么?代码块的分类和各自特点?
    在Java中,使用{}括起来的代码被称为代码块。

    2:静态代码块,构造代码块,构造方法的执行流程?
    静态代码块:随着类加载而加载,且执行一次.
    构造代码块:(初始化块) 每创建一次就执行一次,优先于构造方法执行.
    构造方法:给对象的数据(属性)进行初始化.

    3:继承概述
    让类与类之间产生关系,子父类关系
    4:继承的好处
    * a:提高了代码的复用性
    * b:提高了代码的维护性
    * c:让类与类之间产生了关系,是多态的前提
    5:Java中继承的特点
    * a:Java只支持单继承,不支持多继承。(一个儿子只能有一个爹)(多继承有安全隐患)
    * 有些语言是支持多继承,格式:extends 类1,类2,...
    * b:Java支持多层(重)继承(继承体系)
    6:Java中继承的注意事项?以及我们什么时候使用继承?
    * a:子类只能继承父类所有非私有的成员(成员方法和成员变量)
    * b:子类不能继承父类的构造方法,但是可以通过super(马上讲)关键字去访问父类构造方法。
    * c:不要为了部分功能而去继承

    继承就是一种关系,如果有两个类A,B。只有他们符合A是B的一种,或者B是A的一种,就可以考虑使用继承。
    7:继承中的成员访问特点
    A:成员变量
    在子类方法中访问一个变量
    B:成员方法
    在测试类中通过子类对象去访问一个方法

    8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?
    super解决和this解决
    9:面试题:
    方法重写和方法重载的区别?方法重载能改变返回值类型吗?
    Overload:本类中出现的方法名一样,参数列表不同的方法。与返回值类型无关。
    Override:子类中出现了和父类中方法声明一模一样的方法。与返回值类型有关,返回值是一致(或者是子父类)的
    overload可以改变返回值类型,只看参数列表
    this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。

    10:继承案例练习
    class T1 {
    public static void main(String[] args) {
    Cat c1 = new Cat ();
    c1.setColor("粉");
    c1.setLeg(666);
    c1.eat();
    c1.catchMouse();
    System.out.println(c1.getColor()+"---"+c1.getLeg());
    System.out.println("..........");
    Dog d1 = new Dog("金",111);
    d1.eat();
    d1.lookHome();
    System.out.println(d1.getColor()+"---"+d1.getLeg());
    }
    }
    class Animal {
    private String color;
    private int leg;
    public Animal(){}
    public Animal (String color,int leg){
    this.color = color;
    this.leg = leg;
    }

    public void setColor(String color){
    this.color = color;
    }
    public String getColor(){
    return color;
    }
    public void setLeg(int leg){
    this.leg = leg;
    }
    public int getLeg(){
    return leg;
    }
    public void eat(){
    System.out.println("吃饭");
    }
    }
    class Cat extends Animal{
    public Cat (){}
    public Cat(String color,int leg){
    super(color,leg);
    }
    public void catchMouse(){
    System.out.println("抓老鼠");
    }

    }

    class Dog extends Animal {
    public Dog (){}
    public Dog(String color,int leg){
    super(color,leg);
    }
    public void lookHome(){
    System.out.println("看家");
    }
    }
    11:final关键字可以干什么?有什么特点?
    关键字: 使得方法或者变量不能重写或者只能被赋值一次.
    * 修饰类,类不能被继承
    * 修饰变量,变量就变成了常量,只能被赋值一次,一般会与public static 共用.--->public static final double PI = 3.1415926
    * 修饰方法,方法不能被重写

    12:final关键字的面试题?
    A:修饰局部变量

    基本类型,是值不能被改变
    引用类型,是地址值不能被改变,对象中的属性可以改变

    B:初始化时机
    显示初始化
    成员变量的默认初始化值是无效值
    在对象构造完毕前即可

  • 相关阅读:
    微信小程序 scroll-view switch checkbox
    微信小程序 全选和取消全选
    微信小程序 for循环添加样式1
    微信小程序 类似弹出菜单特效,从右向左滑出
    微信小程序 for循环 wx:for和wx:if wx:elif嵌套着使用
    微信小程序 输入框限制字数
    微信小程序 从本地相册选择图片或使用相机拍照chooseImage()和预览图片previewImage()
    安卓开发感言
    安卓-singleTask
    安卓-什么是FrameLayout
  • 原文地址:https://www.cnblogs.com/Hveritas/p/9306578.html
Copyright © 2020-2023  润新知