• JavaSE复习日记 : 实例化对象/构造方法和this关键字


    /*
     *                          实例化对象/对象的构造方法/this关键字
     */
    
    /*
     *                          实例化对象
     *
     *          就是实例化某一个类;
     *      从不同角度去理解的话就是:
     *          1. 从人的认知角度:
     *              就是具体化某个东西;
     *              如果一个人是一个类,那么这个类的实例化对象就是一个有具体属性的人,比如实例化这个人叫"张三",年龄"23",性别"男","未婚"等等,可以理解对象是对一个类的具体化;(我自己是这么认为的,当然不同人会有不同的理解,欢迎大神指教)
     *          2. 从代码的角度:
     *              实例化就是new某一个类的实例,来封装特有的数据;
     *          3. 从内存的角度:
     *              在堆内存里面开辟的一个(对象的)空间,用来保存对应类的实例化的数据;
     *          4. 从设计的角度:
     *              从一个实际的实体抽象某些属性的一种实体表示;
     *      ***每个类可以有多个对象,但每个对象只对应一个类;
     */
    
    /*
    public class JavaSE{
        public static void main(String[] args){
            people d1 = new people();//实例化people这个类
            d1.name = "张三";//调用属性,给属性赋值
            d1.age = 23;
            d1.sex = "男";
    
    
            System.out.println( "姓名:" + d1.name + "   年龄:" + d1.age + "   性别:" + d1.sex + " " );
        }
    }
    
    class people{
        String name;
        int age;
        String sex;
    
    }
    */
    
    /*-----------------------------------------------------------------------------------------------------
     *                          对象的构造方法和this关键字
     *      什么是构造方法?
     *          跟本类名相同的方法,如果类中没有写构造方法,系统会默认指定一个无参的构造方法,即无参构造;
     *      构造方法的作用:
     *          创建当前类的实例化对象;
     *      构造方法的重载;
     *          可以写多个构造方法,然后根据需求和我们的成员变量,可以重载多个构造方法;
     *      构造方法的语法:
     *          [public static void]类名(){//构造方法默认是公共的(public),静态的(static),没有返回值的(void),方法名和类名相同;
     *
     *          }
     *-------------------------------------------------
     *
     *      this关键字:
     *          代表的是当前的这个对象;
     *          在成员方法中区分成员变量和局部变量;
     *      this关键字的语法;
     *          this.方法名();//当前这个类的成员方法;
     *          this.变量名;//当前这个类的成员变量;
     *          主要用在构造方法中;
     */
    
    
    public class JavaSE{
        public static void main(String[] args){
        ourDate.m1();
        ourDate d1 = new ourDate(1111,11,11);//类内部调用另外一个类里面的东西必须先要实例化,调用时:对象名.方法名();
        System.out.println( d1.year + "" + d1.month + "" + d1.day + "");
        ourDate d2 = new ourDate();
        System.out.println( d2.year + "" + d2.month + "" + d2.day + "");
        }
    }
    
    class ourDate{
        int year;
        int month;
        int day;
        public static void m1(){//静态方法不用实例化就能调用:直接 类名.方法名 就可以;但是成员方法不行,必须先实例化才行;
            int a = 100;
            System.out.println( a );
        }
        ourDate(){//构造方法;
        this(1999,9,9);    
        }
    
        ourDate(int _year,int _month,int _day){//构造方法;这里是方法的重载,外部调用这里的方法会根据形参列表的不同调用方法;
            this.year = _year;//区分类部成员变量和方法内的局部变量;
            month = _month;
            day = _day;
        }
    }
    
    //这些都是我自己总结出来的,这块有点难写,我只能先写出一些基本的东西,大概说明一下这块内容怎么去理解,至于一些方法和关键字的特殊点的用法只能通过其他实例来说了.

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>杰我教育WWW.JAOVO.COM<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  • 相关阅读:
    数据结构----------------优先队列
    IDEA建立---- java web项目
    mysql 基础篇5(mysql语法---数据)
    数据库 基础篇4(mysql语法---表)
    数据库 基础篇3(mysql语法)
    数据库 基础篇2(mysql)
    vi保存搜索结果
    自定义修改connect rule
    xargs 的应用
    nfs,nis nobody的问题
  • 原文地址:https://www.cnblogs.com/yizhimichong/p/4753315.html
Copyright © 2020-2023  润新知