zoukankan      html  css  js  c++  java
  • 重载与构造函数的解析

    以上为我的而练习代码(注释写的很清楚),以供参考

    package com.jacob.javase;


    /*
     * 重载解析:
     * 方法重载:(只和参数有关)
     * 1.1 参数类型不同
     * 1.2 参数个数不同
     * 1.3 参数顺序不同
     * 作用:对方法的调用者来说,屏蔽掉了因参数带来的差异
     */
    public class TestConstructor {
    public static void main(String[] args) {
    // 引用概念:a引用存储的对象内存空间的首地址
    // Student s1 = new Student();
    // 程序的值传递1:(对象传递的是引用存储内容即对象内存空间首地址)
    // System.out.println("s1对象的年龄" + s1.age);
    // Student s2 = s1;
    // s2.age = 12;
    // System.out.print("s1对象的年龄(改变后)" + s1.age);
    // 程序的值传递2:函数传递
    int a = 1;
    // ValueTrans(s2);
    // System.out.println("a的值" + a);
    // System.out.println("s1的年龄:" + s1.age);
    // this关键字的例子
    Student s3 = new Student(10);
    // s3.print();s
    }


    public static void ValueTrans(int a) {
    a++;
    System.out.println("方法中a的值" + a);
    }


    public static void ValueTrans(Student s) {
    s.age++;
    }
    }


    class Student {
    String name;
    int age;


    // 构造函数与类同名:不能主动调用
    // 对象构造时:1.分配空间 2.初始化属性变量 3.调用构造函数(只被调用一次且被动)
    // 构造函数注意点:1.没有返回值 2.若类中没有构造函数,系统会默认提供一个公开的无参构造函数
    public Student() {
    System.out.print("构造函数的this调用");
    }


    // 构造函数的重载
    // 构造函数的作用:给实例变量赋值
    public Student(String name) {
    }


    public Student(int age) {
    // 当局部变量与实力变量冲突时,优先局部(这样就会出现指代不明)
    // 所以这种情况下可以使用this来明确当前变量:特殊引用,指向当前对象
    // age=age;错误示例
    // this()可以用来调用当前对象的另一个构造函数(注意必须放在第一行)
    this();
    this.age = age;// bingo
    }


    public Student(String name, int age) {
    }


    public void print() {
    // this是特殊引用,指向当前对象
    int age = 1;
    System.out.println(age);
    System.out.print(this.age);
    }
    }


    class TestOverLoad {
    // 都是重载
    void test() {
    }


    void test(int i) {
    }


    void test(byte i) {
    }


    void test(byte i, int j) {
    }
    }

  • 相关阅读:
    django QQ认证登录
    python mixin到底是什么 django
    Django View类的解析
    [置顶] 十道海量数据处理面试题
    Epoll简介以及例子
    GCC在C语言中内嵌汇编 asm __volatile__
    在FireBug中计算Javascript 运行时间
    Two Sum
    Longest Consecutive Sequence
    Evaluate Reverse Polish Notation
  • 原文地址:https://www.cnblogs.com/xieji233/p/6155644.html
Copyright © 2011-2022 走看看