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