1.类的组成
?(1)类的属性
?(2)类的方法
???? ??方法:普通方法,构造方法
??普通方法:类的行为方式
??eg:public void study(){}
???? public void play(){}
?格式:public 类名(数据类型 参数,...){}
?用途:
?(1)实例化对象
??????
?例如:
?public class Student{
?private String name;
?
?//构造方法
?public Student(String n){
?name=n;
?}
?}
?public class Manager{
?public static void main(String []args){
?
?//实例化一个Student类对象
?Student stu=new Student("张三");
?stu.study(5);
?}
?}
?(2)
?属性赋初值
?
?Student stu=new Student("张三");
?????? stu对象刚开始时存放在计算机的内存中,具体位置为内存的栈中,而new关键字
?? 则开辟新的内存空间具体为堆,堆中存放了对象的属性方法,虽然属性和方法不被返回,
?? 但是,new关键字会返回一个首地址给对象.
?(3)普通方法与构造方法的区别:
?两者的格式不同,普通方法一般要写返回值的类型,而构造方法格式中不需要返回值类型;
?//普通方法
?public void study(){}
?//构造方法
?public Student(){}?
?
?普通方法是对象的行为,而构造方法的目的是为了实例化一个对象;
3.方法重载
条件:
?方法名必须一致
???? ?public void pk(){}
?public void pk(Hero h){}?
区别:
?所带参数的数据类型,参数个数,参数的顺序必须要有一个不同
注意:方法法重载不仅适用于普通方法同样也适用于构造方法,一个行为支配多个对象的时候,这时
????? 需要使用方法的重载
??
4.this关键字
(1)用途:
?1>用于区分参数与属性
private String name;
public String setName(String name){
?this.name=name;
}
??
public void getName(){
?return name;
}??
?2>调用构造方法
//构造方法
public Student(){
?this("lol");
}
public Student(String name){
?this.name=name;
}
//创建student类对象
Student stu=new Student();
//创建Student类对象
Student stu1=new Student("dota");
当调用该构造方法的时候,程序的结果是"stu"会显示"lol",因此,可以看出this();可以调用构造方法
4.值传递
(1)java中的数据类型
?
?1>基本数据类型:byte
???int
???short
???long
???float
???double
???char??? char a='c';? char a='杰'; char a='bc'报错?
??????????????????????? boolean (true 与false)
?
?2>引用数据类型 对象类型 类类型 复杂的数据类型 自定义类型
???所有的class类型,interface ,abstract class 以及数组类型都属于该类型
(2)适用的数据类型数组
基本数据类型
(3)传递的内容和如何传递
一般是采用直接赋值操作
5.引用传递
(1)适用的数据类型
引用数据类型(类类型,抽象类,接口,数组)
(2)传递内容和如何传递
用于对象之间的传递,一般是在实例化对象的时候,new关键字在栈中开辟空间,构造方法虽然无返回值数据类型,
但是可以返回一个首地址给对象,
eg:
Student stu = new Student();
stu1.setName("张三");
stu2.setName("李四");
stu2=stu1;
stu2.study();
System.out.println(name+"在学习中!");?
此程序运行的结果:张三在学习中!
总结:一般在有对象存在的地方都会用到引用传递.
?
?