www.bersaty.com

java基础知识2--抽象 多态,继承等

用super访问父类的方法时,调用的是父类的变量

class Super 
{
    int a=1;
    char b='c';
    public void show(){
        System.out.println("Super's  show() :"+a+"     "+b);
    }
    public static void main(String[] args) 
    {
        Super s = new Test();
        Test t = new Test();
        s.show();
        t.show();
    }
}

class Test extends Super
{
    float a=7.9f;
    String b="dtrin";
    public void show()
    {
        System.out.println("Test's show() :"+a+"     "+b);
        super.show();//此处输出的是父类的变量的值
    }
}

Java面向对象编程的四大特征:

抽象:

把一类事物共有的属性和行为提取出来,形成一个物理模型(模板),这种研究问题的方法称为抽象。

封装:

把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作(成员方法),才能对数据进行操作。

 

访问控制修饰符:

Public:对外公开。

Protected:对子类和同一个包的类公开。

Default(没有修饰符):对同一个包的类公开。

Private:只有类本身可以访问。

 

继承:

1.父类的private属性和方法不能被继承,其他都可以。

2.单继承,不能继承多个父类。可以用接口解决多重继承的问题。

3.Java 中所有类的父类都是java.lang.Object

4.Jdk6中有202个包3777个类,接口,异常,美剧,注释和错误。

 

重载:

仅仅是返回类型不一样不能构成重载。

仅仅是修饰符不一样不能构成重载。

1.方法名相同。

2.方法的参数类型,个数,顺序至少有一项不同。

3.返回类型可以不相同。

4.方法的修饰符可以不同。

 

方法的覆盖(重写):

1.子类的方法的返回类型,参数,方法名称,要和父类方法的返回类型,参数,方法名称完全一致。

2.子类方法不能缩小父类方法的访问权限。

 

多态:

指一个引用(类型)在不同情况下的多种状态。用过指向父类的指针,来调用在不同子类中实现的方法。

class Animal
{
      public void cry()
{
System.out.println("动物的叫声");
}  

public static void main(String args[])
{
    Animal an = new cat();//父类的引用变量引用子类的实例,这种转换自动完成
   an.cry();
   an=new Dog();
   an.cry(); 
}
}
class Cat extends Animal{
     public void cry()
{
System.out.println("猫的叫声");
}  
}
class Dog extends Animal{
     public void cry()
{
System.out.println("狗的叫声");
}  
}

 final:

1.不希望父类的某个方法不被子类覆盖(override)时,可以用final关键字修饰。

2.不希望类的某个变量的值被修改时。如果一个变量时final,必须赋初值。

 3.不希望类被继承时,可以用final修饰。

 注意:

1.final修饰的变量又称为常量,一般用xx_xx_xx来命名。

2.安全考虑时可以使用。

posted @ 2013-08-05 12:23  bersaty  阅读(261)  评论(0编辑  收藏  举报