java学习笔记(二)

来源:互联网 发布:mac版的千牛可以多开吗 编辑:程序博客网 时间:2024/04/30 08:41
一、java继承
1、继承:一个对象从另一个对象获取属性的过程;
2、java一个子类只能拥有一个父类,不同于C++支持多继承;
3、所有java的类均是由java.lang.Object类继承而来的,所以object是所有类的祖先类;
4、通过extends关键字可以申明一个类是继承另外一个类而来的,如:public class B extends A{};
5、IS-A关系,如Dog IS-A Animal, System.out.println(d instanceof Animal) 打印出 true;
6、通过extends关键字,子类可以继承父类所有的方法和属性,但是无法使用private的方法和属性,这保障了父类的封装性;

7、implements关键字:是一个类实现一个接口用的关键字,它是用来实现接口中定义的抽象方法;


二、java接口
1、java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的实现,而这些实现可以具有不同的行为;
2、定义一个接口:
     public interface AreaInterface{
         double pai=Math.PI;
         double area();
     }
3、实现一个接口:
     public class Circle implements AreaInterface{
         double r;
         public double area(){
             return pai*r*r;
         }
     }
4、接口可以被重implements。抽象类只能被单一extends;
5、接口只有定义,抽象类可以有定义和实现;
6、接口的字段定义默认为public static final,抽象类字段默认是friendly(本包可见);
7、接口的定义:
     public interface People{
         public void say();
     }
     接口的实现:
     public class chinese implements People{
         public void say(){
             System.out.println("你好");
         }
     }
     接口的调用:
     People people = new chinese();
     people.say();

三、java重写(override)和重载(overload)
1、重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变。即外壳不变,核心重写!
2、重写的好处:子类可以根据需要,定义特定于自己的行为;
3、方法的重写规则:
     参数列表必须完全与被重写方法相同;
     返回类型必须完全与被重写方法的返回类型相同;
     访问权限不能比父类中被重写的方法的访问权限更高,如父类为public,那么子类就不能为protected;
     父类的成员方法只能被它的子类重写;
     声明为final的方法不能被重写;
     声明为static的方法不能被重写,但是可以被再次声明;
     构造方法不能被重写;
4、当需要在子类中调用父类的被重写方法时,需要使用super关键字,如super.move();
5、重载是在一个类里面,方法名字相同,但是参数列表或者返回类型不同;
6、重写与重载之间的区别
     区别点         重载方法     重写方法
     参数列表     必须修改     一定不能修改
     返回类型     可以修改     一定不能修改
     异常            可以修改     可以减少或删除,一定不能抛出新的或者更广的异常
     访问            可以修改     一定不能做更严格的限制(可以降低限制)
0 0