学习java第三天

mac2025-06-25  2

一:继承:  父类具有的子类直接具有,是什么是什么的关系,如狗是动物。

            1:         java单继承 ,一个类只能继承一个直接父类 没有声明默认是java.lang.Object。

       protected String name; //protected是专门给子类继承的关键字。

      属性和方法可以被子类继承;构造方法不能被继承。

      构造对象时系统会先构造父类对象在构造子类对象  Object-->person-->student

                           public void showInfo() {  super.showInfo() ; //调用父类的showInfo方法 }

                           this.name="aaa";//调用自己的属性

                           super.name="bbb" ; // 调父类的属性

二:   类型的转换:

          使用instanceof运算符来确定对象的类型   if (stu instanceof person)判断指定的对象是否是当前类的对像。

     子类对象可以隐含扩展为父类型:

           需要一个人来一个人范围内的都可以,但是需要一个学生来一个人(可能是老师等)就不行 。  

                            Student  stu = new Student();

                                    Person p = stu;

      父类转子类必须明确声明转化为子类型:

                   Student stu=(Student)p;(这样的转换必须确定p是个学生,才能转换成学生,这种代码谁转换谁负责)不是所有的父类都能转化成子类!!!!

 

 三:   重写:

        1:一定有两个类,这两个类有集成关系(父子)。2:子类对父类中的方法重新写,方法的名称,参数个数,类型都要相同。

     @override用于检查是否是方法的重写。

        方法的覆盖:方法名相同,参数相同,返回值相同,访问权限只能更大。抛出异常不能更宽泛。

 

 四: static修饰符

        静态修饰符,静态就是在编译之后所分配给他的内存会一直存在,直到程序退出。普通的想要访问某类的成员变量需要实例化对象然后访问成员,而用static修饰之后的成员变量,可以不用实例化对象直接就可以访问。     

        static代码块,类加载时会调用static代码块,对静态属性进行初始化赋值。  只会一次加载。

五: final:

        final类不可以有子类(不能被继承) ,final修饰的变量 设置之后不能被修改。final修饰的方法不能被子类重写。

六:abstract 抽象类和方法

        抽象类的存在是为了让子类继承实现,抽象方法在自己类中不实现,留给继承的子类实现

        抽象方法必须在抽象类中,但是抽象类中不一定有抽象方法。

七:接口

       接口是特殊的抽象类,接口中的方法都是只声明不实现

接口的理解:老师讲的:

      接口,主板,声卡,显卡

    定义两个接口,(制定两个规格),主板上设置两个接口添加get 和set方法,声卡继承接口的方法并实现,显卡继承接口的方法并实现,入口函数中(组装),拿来一个主板,显卡,声卡,实例化主板,显卡,声卡。调用主板的set设置显卡装上,调用他的方法实现功能;调用主板的set设置显卡装上,调用他的方法实现功能;

 

       

 

 

 

 

       

最新回复(0)