1. 方法的重载
不能通过参数名去区分两个方法。 不能通过返回值类型来区分两个方法。 可以通过参数列表:参数个数,参数类型来区分。
public class MethodOverLoad {
public void mOL ( int i) {
System . out. println ( i * i) ;
}
public void mOL ( int i, int j) {
System . out. println ( i * j) ;
}
public void mOL ( ) {
System . out. println ( "CallMOL" ) ;
}
public static void main ( String [ ] args) {
MethodOverLoad m1 = new MethodOverLoad ( ) ;
m1. mOL ( ) ;
m1. mOL ( 2 ) ;
m1. mOL ( 2 , 3 ) ;
}
}
public int max ( int i, int j) {
return Math . max ( i, j) ;
}
public double max ( double i, double j) {
return Math . max ( i, j) ;
}
public int max ( int i, int j, int k) {
return Math . max ( Math . max ( i, j) , k) ;
}
System . out. println ( m1. max ( 1 , 2 ) ) ;
System . out. println ( m1. max ( 1.23 , 4.67 ) ) ;
System . out. println ( m1. max ( 7 , 4 , 8 ) ) ;
public class Person {
private final String name;
private final int age;
private String school;
private String major;
public Person ( String name, int age) {
this . name = name;
this . age = age;
}
public Person ( String name, int age, String school) {
this . name = name;
this . age = age;
this . school = school;
}
public Person ( String name, int age, String school, String major) {
this . name = name;
this . age = age;
this . school = school;
this . major = major;
}
public int getAge ( ) {
return this . age;
}
public String getSchool ( ) {
return this . school;
}
public String getMajor ( ) {
return this . major;
}
public String getName ( ) {
return this . name;
}
public String getInfo ( ) {
return "name:" + name + ",age:" + age +
",school:" + school + ",major:" +
major + "." ;
}
}
public class TestPerson {
public static void main ( String [ ] args) {
Person p1 = new Person ( "Tom" , 17 , "BJUT" , "computer science" ) ;
System . out. println ( p1. getInfo ( ) ) ;
}
}
2. this关键字
this
是当前类的一个对象的引用,是调用当前方法的那个类的对象的应用。在构造方法里面调用重载的构造器,this
语句必须放在第一行。
public class Person {
private final String name;
private final int age;
private String school;
private String major;
public Person ( String name, int age) {
this . name = name;
this . age = age;
}
public Person ( String name, int age, String school) {
this . name = name;
this . age = age;
this . school = school;
}
public Person ( String name, int age, String school, String major) {
this ( name, age, school) ;
this . major = major;
}
public int getAge ( ) {
return this . age;
}
public String getSchool ( ) {
return this . school;
}
public String getMajor ( ) {
return this . major;
}
public String getName ( ) {
return this . name;
}
public String getInfo ( ) {
return "name:" + name + ",age:" + age +
",school:" + school + ",major:" +
major + "." ;
}
}