Java学习_day009面向对象(oop):对象和类(下)

方法的签名:方法名+参数列表
在一个类中不允许出现多个方法签名重复的情况

一、方法的重载(overload)

  1. 发生在同一个类中,方法名称相同,参数列表不同,方法体就不同。
  2. 编译器在编译时会根据方法的签名自动绑定调用的方法。
System.out.println();
System.out.println(" ");
System.out.println(55);
System.out.println(5.3);
System.out.println('6');
//println()就使用了重载的方式,可以输出多种数据类型

方法重载的标志

二、构造方法

  1. 给成员变量赋值初始值
  2. 与类同名,没有返回值类型(连void也没有)
  3. 创建对象时被自动调用
  4. 若自己没有定义构造方法,则编译器默认提供一个无参数构造方法,若自己定义了,则不再默认提供
  5. 构造方法可以重载
    方法构造
//创建了一个学生对象
//给成员变量赋默认值
//调用构造方法new Student();小括号是方法的标志
Student zs=new Student("张三",25,"廊坊");

三、this :指代当前对象,哪个对象调用方法它指的就是那个对象

只能用于方法中,方法中访问成员变量之前默认有个(this.
this.

在这里插入图片描述
在这里插入图片描述
Java规定:成员变量和局部变量可以重名——在使用时采取的是就近原则;
当成员变量与局部变量重名时,此时若想要使用成员变量则this不可省略
成员变量——整个类都可应用
局部变量——独属于方法应用
在这里插入图片描述
在这里插入图片描述
常规写法:
在这里插入图片描述
在这里插入图片描述

内存管理——null

由jvm来管理的

  1. 堆:储存new出来的对象(包括成员变量)
  2. 栈:局部变量(包括方法的参数)
  3. 方法区:.class字节码文件(包括方法)
    练习
/*5 package oop.day02exer;

public class Aoo {

	void show(){}
	void show(int age){}
	void show(int age,String name){}
	void show(String name,int age){}
	void show(String name){}
}
package oop.day02exer;

public class OverloadDemo {

	public static void main(String[] args) {

		Aoo o=new Aoo();
		o.show();
		o.show(4);
		o.show(4,"Asd");
		o.show("asd");
		o.show("sda,4");
	}

}*/
/*4 package oop.day02exer;

public class Aoo {

	void show(){}
	void show(int age){}
	void show(int age,String name){}
	void show(String name,int age){}
	void show(String name){}
}
package oop.day02exer;

public class OverloadDemo {

	public static void main(String[] args) {

		Aoo o=new Aoo();
		o.show();
		o.show(5);
		o.show(5,"Asd");
		o.show("asd");
		o.show("sda,5");
	}

}*/
/*3 package oop.day02exer;

public class Aoo {

	void show(){}
	void show(int age){}
	void show(int age,String name){}
	void show(String name,int age){}
	void show(String name){}
}
package oop.day02exer;

public class OverloadDemo {

	public static void main(String[] args) {

		Aoo o=new Aoo();
		o.show();
		o.show(6);
		o.show(6,"Asd");
		o.show("asd");
		o.show("sda,6");
	}

}*/
/*2 package oop.day02exer;

public class Aoo {

	void show(){}
	void show(int age){}
	void show(int age,String name){}
	void show(String name,int age){}
	void show(String name){}
}
package oop.day02exer;

public class OverloadDemo {

	public static void main(String[] args) {

		Aoo o=new Aoo();
		o.show();
		o.show(6);
		o.show(7,"Asd");
		o.show("asd");
		o.show("sda,8");
	}

}*/
/*1 package oop.day02exer;

public class Aoo {

	void show(){}
	void show(int age){}
	void show(int age,String name){}
	void show(String name,int age){}
	void show(String name){}
}
package oop.day02exer;

public class OverloadDemo {

	public static void main(String[] args) {

		Aoo o=new Aoo();
		o.show();
		o.show(7);
		o.show(7,"Asd");
		o.show("asd");
		o.show("sda,74");
	}

}*/

/*5package oop.day02exer;

public class Student {

	String name;
	int age;
	String address;
	Student(String name,int age,String address){
		this.name=name;
		this.age=age;
		this.address=address;
	}
	void study(){
		System.out.println(name+"studing..");
	}
	void sayhi(){
		System.out.println("hi,name:"+name+";age:"+age+";address:"+address);
	}
}
package oop.day02exer;

public class Student_Test {

	public static void main(String[] args) {


		Student ww=new Student("wangwu",54,"sh");
		ww.sayhi();
	}

}*/
/*4 package oop.day02exer;

public class Student {

	String name;
	int age;
	String address;
	Student(String name,int age,String address){
		this.name=name;
		this.age=age;
		this.address=address;
	}
	void study(){
		System.out.println(name+"studing..");
	}
	void sayhi(){
		System.out.println("hi,name:"+name+";age:"+age+";address:"+address);
	}
}
package oop.day02exer;

public class Student_Test {

	public static void main(String[] args) {

		Student zs=new Student("zhangsan",22,"ls");
		zs.sayhi();
	}

}*/
/*3 package oop.day02exer;

public class Student {

	String name;
	int age;
	String address;
	Student(String name,int age,String address){
		this.name=name;
		this.age=age;
		this.address=address;
	}
	void study(){
		System.out.println(name+"studing..");
	}
	void sayhi(){
		System.out.println("hi,name:"+name+";age:"+age+";address:"+address);
	}
}
package oop.day02exer;

public class Student_Test {

	public static void main(String[] args) {

		Student ls=new Student("lisi",33,"wh");
		ls.sayhi();
	}

}*/
/*2 package oop.day02exer;

public class Student {

	String name;
	int age;
	String address;
	Student(String name,int age,String address){
		this.name=name;
		this.age=age;
		this.address=address;
	}
	void study(){
		System.out.println(name+"studing..");
	}
	void sayhi(){
		System.out.println("hi,name:"+name+";age:"+age+";address:"+address);
	}
}
package oop.day02exer;

public class Student_Test {

	public static void main(String[] args) {


		Student tom=new Student("Tom",55,"sade");
		tom.sayhi();
	}

}*/
/*1package oop.day02exer;

public class Student {

	String name;
	int age;
	String address;
	Student(String name,int age,String address){
		this.name=name;
		this.age=age;
		this.address=address;
	}
	void study(){
		System.out.println(name+"studing..");
	}
	void sayhi(){
		System.out.println("hi,name:"+name+";age:"+age+";address:"+address);
	}
}
package oop.day02exer;

public class Student_Test {

	public static void main(String[] args) {


		Student ww=new Student("wangwu",54,"sh");
		ww.sayhi();
	}

}*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值