DAY 07

作者: 翰墨飞 | 来源:发表于2017-01-07 01:03 被阅读0次

    DAY7

    07.01构造方法Constructor

    一、构造方法的概述及作用:给对象的数据(属性)进行初始化。

    二、构造方法格式特点:

    1.方法名与类名相同(大小也要与类名一致)。

    2.没有返回值类型,连void都没有。

    3.没有具体的返回值return。

    注意事项:构造方法不能用对象调用。//p.Person();会报错

    07.02构造方法的重载

    一、重载:方法名相同,与返回值类型无关,只看参数列表。

    二、构造方法注意事项

    1.未给出构造方法,系统将自动提供一个无参构造方法。

    2.当给出构造方法,系统将不再提供默认的无参构造方法。无参构造建议自己手动搭建。

    举例:

    class Day7_Test1 {

    publicstatic void main(String[] args){

    Personp1=new Person();

    p1.show();

    System.out.println("*********************");

    Personp2=new Person("张三",28);//相当定义p2

    p2.show();//括号内无需填写,起调用。

    }

    }

    class Person {//class Person与classDay7_Test1是平级,互不统辖

    privateString name;

    privateint age;

    publicPerson(){

    System.out.println("空参构造");

    }

    publicPerson(String name,int age ){

    this.name=name;

    this.age=age;

    System.out.println("有参构造");

    }

    public void show(){//该方法无需返回,数据类型为void

    System.out.println(name+"....."+age);

    }

    }

    07.03区别给成员赋值两种方法的区别

    一、直接赋值将原对象变成垃圾。

    二、setXxx构造方法给属性进行初始化,修改属性值,而不创建新的对象。

    举例:

    class Day7_Test2 {

    publicstatic void main(String[] args){

    Personp1=new Person("蔡阳",24);

    //p1=new Person("刘恩仕",25);该方法一般是直接将原对象变成垃圾。

    System.out.println(p1.getName()+"....."+p1.getAge());

    System.out.println(".................");

    Person p2=new Person();

    p2.setName("刘恩仕");

    p2.setAge(24);

    System.out.println(p2.getName()+"....."+p2.getAge());

    p2.setAge(25);//构造方法给属性进行初始化,用setXxx修改属性值。

    System.out.println(p2.getName()+"....."+p2.getAge());//(p2.getName()调用方法

    }

    }

    class Person {//class Person与class

    Day7_Test1是平级,互不释统辖

    privateString name;

    privateint age;

    publicPerson(){

    }

    publicPerson(String name,int age ){

    this.name=name;//注意this的调用

    this.age=age;

    }

    publicvoid setName(String name){//setXxx括号内的内容,记住格式

    this.name=name;

    }

    publicString getName(){

    returnname;

    }

    publicvoid setAge(int age){

    this.age=age;

    }

    publicint getAge(){

    returnage;

    }

    }

    07.04学生类、手机类的练习思路

    一、分析成员变量:品牌、价格等

    二、构造方法:无参、有参

    三、成员方法:

    1.setXxx和getXxx;

    2.show

    07.05如何创建对象

    一、Student.class加载进内存。

    二、声明一个Student类型引用。

    三、在堆内存创建对象。

    四、给对象中属性默认初始化值。

    五、属性进行显示初始化。

    六、构造方法进栈对对象中的属性赋值,构造方法弹栈。。

    七、将对象的地址值赋值给s.

    07.06 static关键字的特点

    一、随着类的加载而加载。

    二、优先于对象存在。

    三、被类的所有对象共享。(共性用静态,特性用非静态)

    注意事项:

    1.在静态方法中是没有this关键字的。

    2.静态方法只能访问静态的成员变量和静态的成员方法,而非静态方法两者均可。

    07.07静态变量与成员变量的区别

    定义:静态变量也叫类变量,成员变量也叫对象变量

    一、所属不同

    1.静态变量属于类,也称为类变量。

    2.成员变量属于对象,也稀烂实例对象。

    二、内存中的位置不同

    1.静态变量存储于方法区的静态区。

    2.成员变量存储于堆内存。

    三、出现时间不同

    1.静态变量随着类的加载而加载,随着类的消失而消失。

    2.成员变量随着的对象的创建而存在,随着对象的消失而消失。

    四、调用不同

    1.静态变量可以通过类名调用,也可以通过对象调用。

    2.成员变量只能通过对象名调用。

    07.08main方法格式的详细解释

    Public:被jvm调用,权限足够大。

    Static:被jvm调用,不要创建对象,直接类名,调用即可。

    Void:被jvm调用,不需要任何返回值。

    Main:只有这样写才能被jvm识别,main不是关键字。

    String[] args:以前是用来接收键盘录入的。

    相关文章

      网友评论

          本文标题:DAY 07

          本文链接:https://www.haomeiwen.com/subject/vnoxbttx.html