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) {
    }
    }

  • 相关阅读:
    DOCTYPE声明
    JS获取对象宽度和高度
    在Flash中巧妙替换字体
    web.config 配置兼容 IIS7 II6
    防刷新重复提交/防后退方法
    iframe自适应,跨域,JS的document.domain
    JS动态创建Table IE不显示Fix
    C#简繁转换
    用TransactSQL 命令压缩数据库
    JS内置对象[转载]
  • 原文地址:https://www.cnblogs.com/xieji233/p/6155644.html
Copyright © 2011-2022 走看看