Day14:面向对象

一:static-静态变量

        static内存图:静态变量存放在堆内存中的静态存储位置,静态变量随着类的加载而加载,是优先于对象出现的。

        

 二:static-静态方法

         不同作用的类:

         工具类:

三:static注意事项

        方法在被调用的时候,实际上是隐含地传入了一个this地址,而静态方法调用时则没有传入this地址,因此静态方法只能访问静态变量。而非静态方法在调用时传入了this地址,因此可以访问到this地址对应地非静态成员变量

        static内存图:

 

        main方法:

 四:继承的概述

        什么时候用继承:

        总结:

 五:继承的特点和继承体系的设计

        继承的特点:

         继承体系的设计:

 六:子类到底能继承父类中的那些内容

         继承的内存图:

         成员方法的继承:

七:继承中成员变量和成员方法的访问特点

        成员变量的访问特点:就近原则,谁离我近,我就用谁

         方法重写:子类覆盖了从父类中继承下来的虚方法表

 

         方法重写的要求:

八:继承中的构造方法和this,super关键字

        构造方法的访问特点:子类的无参构造是默认访问父类的无参构造的。

 

         调用父类的有参构造方法:通过super访问父类的有参构造,调用父类的有参构造方法

         this和super使用总结:

                 this访问本类的其他构造方法:在无参构造方法中,使用this调用其他的有参构造方法

 九:多态

        

 十:多态的方式调用成员

 十一:多态的优势和弊端

     

十二:多态练习

十三:包和final

        包:就是文件夹。包用来管理不同功能的Java类,方便维护 

         使用其他类的规则:使用其他类时,需要使用全类名 

         总结:

         final:修饰方法,类和变量。

         常量:

十四:权限修饰符

        权限修饰符的分类:

 

         静态代码块:

十五:抽象类和抽象方法

        

 

 

 十六:接口

        接口就是一种规则,对行为的抽象。

        接口是和类同级别的,在接口里面可以定义一些抽象类和常量

        继承父类和接口之后,要重写父类和接口中的抽象方法,还要重写构造方法。

十七:接口的细节

 

十八:接口和抽象类案例

十九: 新增方法,接口应用和适配器

        接口中的默认方法:

         接口中的静态方法:

         接口中的私有方法:

二十:内部类

        内部类的定义:

二十一:成员内部类

二十二:静态内部类和成员内部类

二十三:匿名内部类

ps1:鼠标滚轮选中之后,可以向下批量修改

ps2: a instanceof Objection o       //判断a是否属于类型Objection

ps3:shift + F6 批量修改

ps4:选中变量后        alt+回车  ->  跳出idea提示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以给你提供一个简单的示例代码,用于实现一个课程表的功能。 ```python class Course: def __init__(self, course_name, course_time): self.course_name = course_name self.course_time = course_time class Schedule: def __init__(self): self.schedule = {} def add_course(self, day, course_name, course_time): if day not in self.schedule: self.schedule[day] = [] self.schedule[day].append(Course(course_name, course_time)) def get_schedule(self): for day, courses in self.schedule.items(): print(day) for course in courses: print("\t", course.course_time, course.course_name) # 示例用法 my_schedule = Schedule() my_schedule.add_course("Monday", "Math", "9:00-10:30") my_schedule.add_course("Monday", "Science", "11:00-12:30") my_schedule.add_course("Tuesday", "English", "10:00-11:30") my_schedule.get_schedule() ``` 这个示例代码中,我们定义了两个类 `Course` 和 `Schedule`。`Course` 类表示一个具体的课程,包括课程名称和上课时间;`Schedule` 类则表示一个课程表,其中包含了每天的课程安排。在 `Schedule` 类中,我们定义了 `add_course` 和 `get_schedule` 两个方法,分别用于添加课程和输出课程表。 在示例中,我们先创建了一个 `Schedule` 对象 `my_schedule`,然后通过 `add_course` 方法添加了几个课程,最后调用 `get_schedule` 方法输出了整个课程表。输出结果如下: ``` Monday 9:00-10:30 Math 11:00-12:30 Science Tuesday 10:00-11:30 English ``` 你可以根据自己的需要修改这个示例代码,添加更多的功能和属性,来实现一个更完整的课程表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值