子类的实例化过程、、抽象,,软件包

//在子类的构造函数当中,必须调用父类的构造函数,//     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    :只有我这个类自己用







你可能感兴趣的:(学习)