java基础知识2--抽象 多态,继承等
2013-08-05 12:23
633 查看
用super访问父类的方法时,调用的是父类的变量
Java面向对象编程的四大特征:
抽象:
把一类事物共有的属性和行为提取出来,形成一个物理模型(模板),这种研究问题的方法称为抽象。
封装:
把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作(成员方法),才能对数据进行操作。
访问控制修饰符:
Public:对外公开。
Protected:对子类和同一个包的类公开。
Default(没有修饰符):对同一个包的类公开。
Private:只有类本身可以访问。
![](http://images.cnitblog.com/blog/258144/201308/05104332-5876e2b3fa254e7082c3a0a3222aaaa5.png)
继承:
1.父类的private属性和方法不能被继承,其他都可以。
2.单继承,不能继承多个父类。可以用接口解决多重继承的问题。
3.Java 中所有类的父类都是java.lang.Object。
4.Jdk6中有202个包3777个类,接口,异常,美剧,注释和错误。
重载:
仅仅是返回类型不一样不能构成重载。
仅仅是修饰符不一样不能构成重载。
1.方法名相同。
2.方法的参数类型,个数,顺序至少有一项不同。
3.返回类型可以不相同。
4.方法的修饰符可以不同。
方法的覆盖(重写):
1.子类的方法的返回类型,参数,方法名称,要和父类方法的返回类型,参数,方法名称完全一致。
2.子类方法不能缩小父类方法的访问权限。
多态:
指一个引用(类型)在不同情况下的多种状态。用过指向父类的指针,来调用在不同子类中实现的方法。
final:
1.不希望父类的某个方法不被子类覆盖(override)时,可以用final关键字修饰。
2.不希望类的某个变量的值被修改时。如果一个变量时final,必须赋初值。
3.不希望类被继承时,可以用final修饰。
注意:
1.final修饰的变量又称为常量,一般用xx_xx_xx来命名。
2.安全考虑时可以使用。
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:只有类本身可以访问。
![](http://images.cnitblog.com/blog/258144/201308/05104332-5876e2b3fa254e7082c3a0a3222aaaa5.png)
继承:
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.安全考虑时可以使用。
相关文章推荐
- Java基础知识-9、对象继承和多态
- 黑马程序员——Java基础--继承、多态、抽象、接口联合使用的案例
- 黑马程序员<java基础<面向对象(封装,继承,多态,抽象)>>
- Java基础-->面向对象<继承,内部类,多态,包,抽象与接口>
- Java基础-四大特性理解(抽象、封装、继承、多态)
- java基础 继承、封装、多态、抽象详解
- 黑马程序员——Java基础---继承,抽象,多态,接口,包,内部类
- Java基础知识回顾之三 ----- 封装、继承和多态
- JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]
- 04_java基础_继承、抽象、多态
- Java基础知识——继承和多态
- JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程.]
- 【Java】Java基础知识1. 继承、多态、重载和重写
- JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]
- java基础——java的三大基本特征(继承、抽象、多态)
- 黑马程序员—————Java基础----继承、多态、抽象、接口
- 黑马程序员——Java基础:继承、final关键字、抽象、接口、多态
- Java基础笔记-抽象,继承,多态
- JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]
- JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]