zoukankan      html  css  js  c++  java
  • day10作业

    1.Java中,用{}括起来的代码称为代码块。

    代码块分为局部代码块,构造代码块,静态代码块,同步代码块

    局部代码块:在方法中出现,限定生命周期,及早释放,提高内存利用率

    构造代码块:在类中方法外出现,多个构造方法中相同的代码块放到一起,每次调用构造都执行,并且在构造方法前执行

    静态代码块:在类中方法外出现,并加上static修饰符;用于给类进行初始化,在加载的时候就执行,并且只执行一次。一般用于加载驱动,位于主方法类中的静态代码块先于主方法执行。

    2.静态代码块——构造代码块——构造方法

    3.让类与类之间产生关系,子父类关系。

    4.a.提高了代码的复用性

    b.提高了代码的维护性

    c.让类与类之间产生了关系,是多态的前提

    5.a:java只支持单继承,不支持多继承

    b:java支持多重继承

    6.注意事项:

    a:子类只能继承父类所有非私有的成员(成员方法和成员变量)

    b:子类不能继承父类的构造方法,但是可以通过关键字super去访问父类的构造方法

    c:不要为了部分功能而去继承

    继承体现的是一种关系“is a”,如果有两个类A,B,只有他们符合A是B的一种或者B是A的一种,就可以考虑使用继承。

    7.A:如果子类中没有这个成员变量就访问父类中的该成员变量,如果子类中有这个成员变量,就默认使用该成员变量。

    B:子类中所有的构造方法都会访问父类中的空参构造。

    8.在继承中,子类中所有的构造方法都会访问父类中的空参构造。假如父类中没有无参构造,会报错。

    有几种解决方式:1.在父类中加一个无参构造;2.在子类中用super关键字取访问父类中的带参构造;3.子类通过this去调用本类中的其他构造方法

    9.方法重写是子类重出现了和父类中方法声明一模一样的方法。与返回值类型有关,返回值是一致的;方法重载是本类中出现的方法名一样,参数列表不同的方法,与返回值类型无关。

    overload可以改变返回值类型,看参数列表。

    this:谁来引用我,我就代表谁

    super:代表当前对象父类的引用

    this.成员变量:调用本类的成员变量,也可以调用父类的成员变量(本类没有的情况下)

    super.成员变量:调用父类的成员变量

    class Test_Extends {
        public static void main(String[] args) {
            /*Son s = new Son();
            s.son();*/
    
            Cat c = new Cat();
            c.show1();
            c.show2();
    
            System.out.println("------------------------");
    
            Dog d = new Dog();
            d.show1();
            d.show2();
        }
    }
    
    /*class Father {
        private aint num1 = 10;
        int num2 = 20;
    }
    class Son extends Father {
        int num1 = 20;
        public void son(){
            System.out.println(super.num1);
            System.out.println(this.num2);
        }
    }*/
    
    class Animal {
        String color = "white";
        int legs = 4;
        public void show1(){
            System.out.println("白色");
        }
        public void show2(){
            System.out.println("有4条腿");
        }
    }
    
    class Cat extends Animal {
    }
    
    class Dog extends Animal {
    }

    11.1.修饰类,类不能被继承

    2.修饰变量,变量就变成了常量,只能被赋值一次

    3.修饰方法,方法不能被重写

    12.A.final关键字修饰局部变量

    1.基本类型,是值不能被改变

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

    B.final修饰变量的初始化时机

    1.显式初始化(此时成员的默认初始化值0,是无效值)

    2.在对象构造完毕前即可(错误:变量 num 未在默认构造器中初始化)

  • 相关阅读:
    主机名与域名
    Screen 状态栏配置
    linux 修改时间
    vsftpd2.3.2安装、配置详解
    mysql 二进制日志
    linux下mysql操作的命令
    Apache加载PHP.ini顺序
    页面异步加载javascript文件
    一段实现页面上的图片延时加载的js
    如何在MySql中记录SQL日志
  • 原文地址:https://www.cnblogs.com/lyx210019/p/9306606.html
Copyright © 2011-2022 走看看