面向对象的特点: 封装,继承,多态
多态
参数不同,运行结果不同,条件不同,运行结果不同。
多态的前提:继承,重写,向上转型。
多态的有点:1.减少代码量(福利。。)2.降低程序的耦合度。
向上转型
父类 对象名=new 子类构造器;向上转型为系统自动转型,该子类对象只能访问父类里面定义的属性和方法。
向下转型
子类 新对象名=(子类)原对象名。
如果一个方法被重写,将访问重写之后的方法。
包的使用
包是java中用来管理类的工具,相当于文件夹管理文件。
在一个包下不能出现同名的类。
package 关键字
声明包: package 包名
注:
包的声明必须是整个程序中的第一行。
在用一个源文件中,可有定义多个类,但只能有一个public类,且这个public类的类名必须和源文件名相同。
编译的时候,每个类都有一个字节码文件,名称与类名相同。
同包下的类可以直接访问,不同包下的类需先引入再访问。
import 关键字
用import关键字引入 import 包名.类名 或者 import 包名.*;
抽象类
抽象类用abstract修饰,没有方法体,主要作用是被其他类继承。
abstract关键字
abstract用于修饰抽象类和抽象方法,
抽象方法必须在抽象类中,但抽象类中可以有非抽象方法。
抽象类不能创建对象,只能提供属性和方法用于其他类的继承,
抽象方法的重写,叫方法的实现。
具体化的子类是可以创建对象的。
抽象类是可以继承非抽象类的。
修饰符
修饰符分为访问修饰符和非访问修饰符。
访问修饰符有 public , protected , private
访问修饰符的作用:修饰成员、变量、方法、构造器,类是能用public或者没有修饰符修饰。
用public修饰的包能被任何包下的类访问,没有修饰符(缺省值)修饰的类,只能被同包下的类访问。
非访问修饰符有 static , final , abstract , synchronized 等等。注意:同包下的类之间,可以访问非私有的属性,方法,构造器。
不同包下的类之间,只能访问共有的属性,方法,构造器。
私有的属性,方法,构造器,只能在当前来下使用,访问。
同包下,子类可以继承父类的非私有属性,方法。
不同包下,子类只能继承父类共有的和受保护的属性,方法。
修饰类:该类不能被继承;
修饰属性:该属性是常量,不能被重新赋值。
修饰方法:不可重写,可被继承。
原文地址:http://xudesheng.blog.51cto.com/1234073/1695960