方法的签名:方法名+参数列表
在一个类中不允许出现多个方法签名重复的情况
一、方法的重载(overload)
- 发生在同一个类中,方法名称相同,参数列表不同,方法体就不同。
- 编译器在编译时会根据方法的签名自动绑定调用的方法。
System.out.println();
System.out.println(" ");
System.out.println(55);
System.out.println(5.3);
System.out.println('6');
//println()就使用了重载的方式,可以输出多种数据类型
二、构造方法
- 给成员变量赋值初始值
- 与类同名,没有返回值类型(连void也没有)
- 创建对象时被自动调用
- 若自己没有定义构造方法,则编译器默认提供一个无参数构造方法,若自己定义了,则不再默认提供
- 构造方法可以重载
//创建了一个学生对象
//给成员变量赋默认值
//调用构造方法new Student();小括号是方法的标志
Student zs=new Student("张三",25,"廊坊");
三、this :指代当前对象,哪个对象调用方法它指的就是那个对象
只能用于方法中,方法中访问成员变量之前默认有个(this.)
Java规定:成员变量和局部变量可以重名——在使用时采取的是就近原则;
当成员变量与局部变量重名时,此时若想要使用成员变量则this不可省略
成员变量——整个类都可应用
局部变量——独属于方法应用
常规写法:
内存管理——null
由jvm来管理的
- 堆:储存new出来的对象(包括成员变量)
- 栈:局部变量(包括方法的参数)
- 方法区:.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();
}
}*/