//在子类的构造函数当中,必须调用父类的构造函数,// super();
/
1.函数的复写(override)
、、复写(override)也被称之为覆盖或者复写
、、1.在具有父类关系的两个类当中
、、2、父类和子类各有一个函数,这两个函数的定义(返回值类型,函数名和参数列表)完全相同。
2.使用super调用父类的成员函数
/向上转型————将子类的对象复制给父类的引用;
Student s = new Student();
Person p = s;
一个引用能够调用哪些成员(变量和函数),取决于这个引用的类型;
一个引用 调用的是哪一个方法,取决于这个引用所指向的对象;
还有向下转型 (只能先向上转 型,再向下)
1、抽象函数的语法特征:什么是抽象函数;:只有函数的定义,没有函数体的函数 abstract void fun()
2、抽象类的语法特征:什么是抽象类:使用abstract定义的类被称为抽象类;1)抽象类不能生成对象(就是当爹的,继承《override》),2)如果一个类当中包含有抽
象函数,那么这个类必须被声明为抽象类,3)如果一个类当中没抽象函数,那么这个类也可以被声明为抽象类;
3,、抽象类的作用:就是当爹的,继承《override》,,,抽象类可以有构造函数吗?条件:1,抽象类不能生成对象,2,构造函数用来生成类的对象,但是,答案是(通过super())抽象类可以有构造函数的。
为什么要使用抽象类:如果无法写出一个子类通用的函数的话,最好把这个函数写成一个抽象的函数,并且把这个抽象类定义为抽象类,(避免一些错误)
软件包:1、什么是JAVA 的软件包?所谓的文件夹,(不同的 类 放在不同的 文件夹 下面)
2、为什么要用软件包?有时类重名就得放在不同的包里面。软件包为java类提供了命名空间
3、如何给一个类打包?将类放置到包当中,需要使用 package ”包名“,,一个类的全名应该是”包名“+”.“+”类名“ 例如:printer.CanonPrinter
包名的命名规范:1、要求包名所有的字母都要小写,2、包名一般情况下,是你的域名倒过来写(遇到” . “多一级目录)。
1。。java当中的访问权限
1)public公共权限:pubbic可以修饰类,成员变量,成员函数,没有任何限制,同一个包中的类,或者不同当中的类都可以自由访问
2)private私有权限:能够修饰成员变量,成员函数,只能在本类当中使用
3)default包级别的访问权限(默认访问权限):(不写权限修饰符,就是default权限),可以修饰类,成员变量,成员函数,在同一包里可以自由访问
4)protected受保护权限:复杂一点(继承有关)拥有和default一样的功能,但是该权限只能修饰成员变量和成员函数,
2.。。软件包的导入 import +包名.类名;
3。。1)访问权限与继承 如果子类和父类不在同一个包当中,则子类无法继承到父类当中的default权限的成员变量和成员函数(其实,子类可以继承的,是由于权限不够,无法使用)
2)protected权限 protected允许子类和父类在不同包当中,子类等够使用父类当中的prot ected权限的成员变量和成员函数,而先public权限即使两个类在两个包当中,不是父子关系也可以使用(千真万确呀)
访问权限的顺序 :public > protected > default > private
public : 无要求,爱咋咋地
protected :首先同一个包中随便访问,其次子类可以继承到不同包中的protected权限的成员变量和成员函数
default :同一个包中访问
private :只有我这个类自己用