1.构造方法
可以在实例化对象的同时就为这个对象的属性进行赋值。
定义:在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法;
a.方法名与类名相同
b.在方法名的前面没有返回值类型的声明(void)不能写。
c.在方法中不能使用return语句返回一个值
例:public class person{
int age;
public person (int a){ //定义有参的构造方法
age=a;
}
public void speak() {
system.out.println("i am"+age+"years old") ;
}
}
-----------------------------------------------------------
//测试类
public class Example {
public static void main(String[]args){
person p = new person(20); //实例化person对象
p.speak( );
}
}
2.构造方法的重载
与普通方法一样,构造方法也可以重载,在一个类中可以定义多个构造方法只要构造方法的参数类型或参数个数不同即可。
public class Student{
string name;
int age;
//定义两个参数的构造方法
public Student (String con_name ; int con_age){
name = con_name;
age = con_name;
}
//定义一个参数的构造方法
public Student (String con_name){
name = con_name; //为name属性赋值
}
public void speak( ){
//打印name和age的值
system.out.println("大家好,我叫“+name+",我今年“+age+”岁);
}
--------------------------------------------------------------------
//测试类
public class Example{
public static void main (String[]args){
//分别创建两个对象p1和p2
Student p1 = new Person("陈杰“);
Student p2 = new Person("李芳”,18);
//通过对象p1和p2调用speak方法
p1.speak();
p2.speak();
}
}
3.this关键字的使用
this:代表所在类 的对象引用
方法被那个对象调用,this就代表哪个对象
使用场景:
当局部变量隐藏成员变量的时候
练习:
public class Preson {
private String name;
private int age;
public Preson(){}
public Preson(String name, int age ){
this .name = name;
this. age=age;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name=name;
}
public String getName() {
return name;
}
public void speak(){
System.out.println("我是"+name+",我今年"+age+"岁了!");
}
}
//测试类 ----------------
public class PersonDemo {
public static void main(String[] args) {
Preson p=new Preson();
System.out.println(p.getName()+"--------"+p.getAge());//null--------0
System.out.println("------------");
p.setName("球球");
p.setAge(28);
System.out.println(p.getName()+"--------"+p.getAge());//球球--------28
Preson p2 = new Preson("球球",28);
p2.getAge();
p2.getName();
System.out.println(p2.getName()+"--------"+p2.getAge());
}
}
4.类名作为形式参数传递
如果看到一个方法,他的形式参数是一个类名的话,那么他传递的一定是该类的对象。
例如,以下有三个类:
5.类名作为返回值类型
如果方法的返回值是类名,那就是说返回的是该类的对象。
例如:
网友评论