• Java学习之路(四)


    1:static关键字

    静态变量可以使用类名来调用 也可以使用对象来调用

    但是同一个类的同一个静态变量存储的位置一样的 

    所以无论改变那个对象的静态变量的值其他对象的同一个变量的值也会改变

    静态函数中使用的变量必须是静态的 

    可以这样理解

    静态函数中若使用的非静态的变量的话   相当于this.变量  而这里的this就不明确了

    静态代码块在类装载的时候执行  

    为了给类中的静态变量赋值


     2:继承

    子类可以继承父类的成员变量和成员函数   不会继承构造函数

    当实例化一个子类对象时   必须会调用父类的构造函数  而且必须先调用父类的构造函数     我们也可以在子类的构造函数里使用super函数  super也必须为第一个函数

    super的作用:可以避免写重复的代码

    一个简单的继承

    Persion类:

    class Persion
    {
        String name;
        int age;
        
        Persion(){
            System.out.println("Persion无参构造函数");
        }
        
        Persion(String name , int age){
            this.name = name;
            this.age = age;
            System.out.println("Persion有参构造函数");
        }
        
        void eat(){
            System.out.println("吃饭");
        }
        
    }

    Student类:

    class Student extends Persion
    {
        int grade;
        
        Student()
        {
            System.out.println("Student无参构造函数");
        }
        Student(String name,int age,int grade )
        {
            this.grade = grade;
            //this.age = age;
            //this.name= name;
            System.out.println("Student有参参构造函数");
        }
    }

    主函数:

     class Text{
         public static void main(String args[])
         {
            Student aStudent = new Student("李鹏",2,3);
            System.out.println(aStudent.name);
            System.out.println(aStudent.age);
            System.out.println(aStudent.grade);
         }
     }

     结果:

    可见当参数为3个  会先调用父类的无参构造函数 然后是子类的3个参数的构造函数  所以这样的话:如果子类没有给父类的变量赋值  父类变量是不会被赋值的  所以子类必须为父类变量赋值

    ①可以直接在子类为父类变量赋值

    ②可以调用super方法为来调用父类构造函数

    修改后的Student类:

    class Student extends Persion
    {
        int grade;
        
        Student()
        {
            System.out.println("Student无参构造函数");
        }
        Student(String name,int age,int grade )
        {
            super(name,age);
            this.grade = grade;
            //this.age = age;
            //this.grade = grade;
            System.out.println("Student有参参构造函数");
        }
    }

    运行结果:

    这样便可以使代码尽量的减少

  • 相关阅读:
    机器学习实战-学习笔记-第一章
    Spark高级数据分析中文版-读者交流
    AAS代码第2章
    AWS-CDH5.5安装-软件下载
    AWS-CDH5.5安装 CM配置节点
    AWS-CDH5.5安装-安装
    Spark-1.5.1 on CDH-5.4.7
    tpch-kudu
    kudu playground
    CDH5.4.5运行多字符分割记录
  • 原文地址:https://www.cnblogs.com/lipeng0824/p/4377674.html
Copyright © 2020-2023  润新知