您的位置:首页 > 编程语言 > Java开发

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

2013-08-05 12:23 633 查看
用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.安全考虑时可以使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: