zoukankan      html  css  js  c++  java
  • Java重载、构造函数和this、static要点

     一、重载函数

    • 类中多个同名的方法名
    • 靠参数来区分

      

    class Person{
          int age;
          String name;
          void  set(int a){
                age = a;
          }
          void set(String s){
                name = s;
          }  
    }

    二、构造函数

    • 没有返回值
    • 每个类都有构造函数,若没有写,编译器会自动添加
    • 如果类中写有其他有参构造函数而又没有写默认构造函数,这时new无参构造函数则会出错,因为编译器不会自动添加默认构造函数了。

      

    public class Person {
        public static void main(String agrc[]){
            //下行代码报错,已写有参构造函数,编译器不会自动添加默认构造函数了
            Dog d = new Dog();
        }
    }
    class Dog{
        Dog(int age){
            
        }
    }

    三、this代表调用这个函数的对象

      

    public class Person {
        int age;
        String name;
        String sex;
        Person(){
            
        }
        Person(int age, String name){
            //用法一:参数和成员变量同名时使用
            this.age = age;
            this.name = name;
        }
        Person(int age, String name, String sex){
            //用法二:调用构造函数,只能调用一个且写在代码第一行
            this(age, name);
            this.sex = sex;
        }
    }

     四、static静态关键字

      

    public class Person {
        public static void main(String agrc[]){
            Dog.age = 21;//可使用类名来调用(可没有对象)
        }
    }
    class Dog{
        static int age;
        static{
            //静态代码块,可用于给静态成员变量赋初值
        }
        static void set(){
            age = 30;//静态方法中要使用静态成员变量,不能使用this
        }
    }
  • 相关阅读:
    python openpyxl 封装Execl常用操作的方法
    python webdriver grid多节点运行webdriver程序
    url的正则表达式
    基于Erlang VM的函数式编程语言Elixir
    [整理]团队开发效率提升探索一
    FreeBSD应该装gnome3做桌面
    FreeBSD pkg仓库有台湾的镜像了
    再探OAuth2
    【转】Android世界的Swift
    内存只有4G的MBP要怎么破
  • 原文地址:https://www.cnblogs.com/qiu520/p/4098213.html
Copyright © 2011-2022 走看看