权限控制:
Java中用private default protected public用来控制使用的范围。
private 同一个类 (不能用在类的前面来修饰类)
default 同一个类 同一个包
protected 同一个类 同一个包 子类中
public 同一个类 同一个包 子类中 全局
-----------------------------------------------------------------------------------------------
super代表父类对象;
在创建的过程中,父类无参数的构造方法要先执行;
父类中没有无参数的构造方法,在子类中要用super()来指定;()中的参数有几个,就调用父类中对应个数参数的构造方法。
//父类:
public class Animal        
{        
    public Animal() {    
        System.out.println("父类的构造方法");    
    }    
    public Animal(String s,int i){    
        
    }    
        private int weight;        
     //获取                
        public int getWeight()        
        {        
                return weight;        
        }        
            //设置        
        public void setWeight(int w)        
        {        
                weight=w;        
        }        
}
子类:
public class Dog extends Animal        
{    
    public Dog() {    
        super();    
        System.out.println("子类的构造方法");    
    }    
                public void Bark()        
        {        
                System.out.println("Wang~~~~~~~~~~");        

        }    
        public static void main(String[] args) {    
    Dog dd = new Dog();    
    dd.Bark();    
        }//    
}
-----------------------------------------------------------------------------------------------
this代表当前对象;
当我们希望在方法内部获得对当前对象的引用。由于这个引用是由编译器“偷偷”传入的,所以没有标识符可用。所以this就出现了。
this关键字只能在方法内部使用,表示“调用方法的那个对象”的引用。
① 构造器中指该构造器所创建的新对象
② 方法中调用该方法的对象
③ 在类本身的方法或构造器中引用该类的实例变量和方法
④ 构造器中不能同时出现super() this();调用一般方法可以
⑤ 属性名和变量名一样的时候属性名前加this.
类的方法中调用同一个类中的其他方法:
public class Person {
  private String name;
  private age;
  private sex;
    
  public String showName() {
    return this.name;    
  }
  public void setName(String theName) {
    this.name = theName;
    }
}
返回当前的对象引用:
public class Account {
  private int accoutId = 100000;
  public Account createAccount() {
    accountId ++;
    return this;//返回类类型的对象
    }
  public int getAccountId() {
    return accountId;
    }
  public static void main() {
    Account account = new Account();
    //这里返回了3次:最后得到对象
    System.out.println("账号是 : " + account.createAccount().createAccount().getAccountId());
    }//
  }