Java Basic 4:object Orientation,Overloading,Overriding,Constructors and Return types

 part 1:封装,"is-a" and "has-a"
1.封装的目的在于隐藏具体的实现。
2.封装有2个特色:
    a.instance variable应该被保护,private or protected。
    b.要访问instance variable,可以同过getter or setter。
3."is-a"意味着继承,extends。
4."has-a"means 一个类的实例中包含对另外一个或多个类的reference variable。
---------------------------------------------------------------------------
part 2:Overloading & Overriding
1.方法可以被Overloading & Overriding,但是Construtor只能Overloading。
2.Abstract方法可以被Overriding在它的第一个Concrete的子类里。
3.Overriding的方法必须要遵守的rules
   a.必须有相同的参数表。
   b.必须有相同的返回值。
   c.不能用有更具有限制性的access modifier。例如之前是protected,之后可以用public,但是不能用private
   d.不能抛出新的或者范围更宽的checked exception
4.final方法不能被overriding
5.overriding and inheritance and polymorphism
6.Overloading的方法必须要遵守的rules
   a.必须有不同的参数表。
   b.可以有不同的返回值。
   c.可以有不同的access modifier。
   d.可以抛出新的异常。
7.父类中的方法可以在子类中被overloading。
8.需要注意的事情:下面代码的运行结果是:Son
 public class Father {
  public void go() {
   System.out.println("Father");
  }

  public static void main(String args[]) {
   Father f=new Son();
   f.go();
   f.go2();//compile error . if "Son s=new Son()",it will work fine
  }
 }

 class Son extends Father {
  public void go() {
   System.out.println("Son");
  }

  public void go2() {
   System.out.println("Son2");
  }
 }
----------------------------------------------------
part 3:构造和初始化
1.在java中,调用构造函数是建立新对象的唯一途径。
2.每一个类,至少有一个构造函数。abstract类也是一样。
3.构造函数必须和类同名。
4.构造函数不能有返回值。
5.构造函数的执行顺序:先super,后自己。如果没有显式的写出,则为隐式的自动调用。
6.构造函数可以使用任何的modifier,包括priavte。
7.如果没有显式的声明构造函数,编译器会自动生成一个不带参数列表的,并且调用super也不带参数的默认的构造函数。
8.构造函数的第一行语句,要么是this(),要么是super()。
9.abstract类的构造函数,在它的一个具体子类被初始化的时候调用。
10.接口没有构造函数。
11.如果父类的构造函数都是带有参数列表的,那么其子类要写出构造函数,并明确的写出super(args1,args2...)。
12.构造函数不能被继承,所以也就不能被overridden,但是可以被overloaded。
13.this()和super()不能同时出现在一个构造函数当中。
-----------------------------------------------
part 4:返回值
1.overloaded函数可以改变返回值,overridden则不行。
2.Object reference返回值可以是null。
3.数组可以作为返回值。
4.当返回值是primitive类型的时候,任何可以隐式转化成这种类型的值都可以被接受。
5.如果返回一个类的reference,那么这个类的子类是可以接受的
6.如果返回一个接口,那么说有执行这个接口的类是可以接受的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值