第四周后端学习

面向对象进阶

在idea中可以竖着进行选择,用鼠标滚轮可以选择想要的部分,或者按住alt不松,左键选择想要的部分

ctrl加alt加v自动生成左边,给变量设置对象

static

1.静态变量:被static修饰的成员变量,叫做静态变量

表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量,被该类所有对象共享,不属于对象,属于类

调用方式:

类名调用和对象名调用(只需要调用一次就可以全部调用成功)

只赋值一次就让这类的所有对象赋值上一个变量,不用多次赋值,实现数据共享

由于静态变量是引用数据类型,所以他的初始值是null,在创建变量的时候,他在new对象出现前就出现在堆内存内,存储在静态内储位置,静态变量是随着类的加载而加载的,优先于对象出现的,

2.被static修饰的成员方法,叫做静态方法 

javabean类:用来描述一类事物的类。比如student,teacher,dog等

测试类:用来检查其他类是否书写正确,带有main方法的类,是程序的入口

工具类:不是用来描述一类事物的,而是帮我们做一些事情的类

需要对静态方法进行private修饰,因为工具类在作用上只有用处,没有修饰变量的用处。

static的注意事项:

1.静态方法只能访问静态变量和静态方法

2.非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法 

继承:.Java中提供一个关键字extends,用这个关键字,我们可以让一个类让另一个类建立起继承关系

.例如在一个教室的学生和老师,大家都有相同的属性,都有名字和i性别,不一样的是行为,所以可以将学生和老师的称为特殊行为称为子类,将大家都有的名字的人都有的类叫做父类,相当于孩子继承了父亲的特征,然后后期还可以自身培养自己的特点

使用继承的好处:

1.可以把多个子类中重复的代码抽取到父类中,提高了代码的复用性

2.子类可以在父类的基础上,增加其他的功能,使子类更强大

使用继承的时间:

当类与类之间,存在相同共性的内容,并满足子类是父类中的一种,就可以考虑使用继承,来优化代码

继承的格式:

public class 子类 extends 父类

继承后的子类会在父类的基础上新增其他功能,子类更强大

在Java中继承的特点和使用方法和c++不太一样“

Java支支持单继承,不支持多继承,但支持多层继承

单继承:一个子类只会继承一个父类

不支持多继承:子类不能同时继承多个父类 好处:不会出现子类继承相同的行为后出现表达错乱的情况,比如儿子收到两个人的指示,a说复习数学,b说复习英语,导致儿子不知道复习哪个的情况

多层继承:相当于儿子继承父亲,父亲继承爷爷,但儿子也可以直接继承爷爷的特点,可以层层完善儿子的特点,父亲继承一点,然后自己加特点,然后在继承给儿子,让儿子更加厉害

1.Java只能单继承,一个类只能继承一个直接父类

2.Java不支持多继承,但是支持多层继承

3.Java中所有的类都或间接继承于object类

权限修饰符private

加上private权限修饰符子类就无法访问了,只能在本类中访问,比如爸爸的私房钱只有自己可以用,

多态:同种类型的对象,表现出的不同形态

多态的调用方式

父类 a=new 子类();

多态的前提1.有继承/实现关系2.有父类引用指向子类对象3.有方法的重写

多态的好处1.使用父类型作为参数,可以接受所有子类对象2.体现多态的扩展性与便利

例如在学生管理系统中,不同的身份在方法的形参调用都不太一样。但是都有共同点,person是他们的父辈,所以可以在调用方法的时候调用父类对象来代表调用他们

多态调用对象的特点:

1.变量调用:编译看左边(javac编译代码的时候,会从左边的父类中有没有这个变量,如果有,编译成功,反之失败),运行看左边(Java运行代码的时候,实际获取的就是左边父类中成员变量的值)

2.方法调用:编译看左边(javac编译代码的时候,会看左边的父类有没有这个方法,如果有,编译成功),运行看右边(Java运行代码的时候,实际上运行的是子类的方法)

理解:

animal a=new dog();

现在是用a去调用变量和方法,而a是animal类型的,所以默认都会从animal这个类去找;

成员变量:在子类的对象中,会把父类的成员变量也继承下来

成员方法;如果子类对方法进行了重写,那么在虚方法表中是会把父类的方法进行覆盖的

xiang'dang

常规继承创造对象 

spirngboot

spring boot是spring提供的一个子项目,用于快速构建spring应用程序

传统方式构建spring应用程序

1.导入依赖繁琐 2.项目配置繁琐

springboot 的t特性,用于快速的构建spring应用程序

1.起步依赖2.自动配置3.内嵌的tomcat,jetty(无需部署war文件)4.外部化配置5.不需要xml配置

起步依赖本质上就是一个maven坐标,整合了完成一个功能需要的所有坐标,解决了导入依赖繁琐的问题

自动配置:遵循约定大于配置的原则,在boot程序启动后,一些bean对象会自动注入ioc容器中,不需要手动声明,简化开发,解决了项目配置繁琐的问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值