【21天学习挑战赛—Java编程进阶之路】(5)

【21天学习挑战赛—Java编程进阶之路】(5)_第1张图片

活动地址:CSDN21天学习挑战赛

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…


个人名片:

作者简介:一名大一在校生
‍❄️个人主页:小新爱学习.
个人WeChat:hmmwx53
️系列专栏:零基础学java ----- 重识c语言
每日一句:人生没有一劳永逸,想不被抛弃,只有自己努力

文章目录

    • 创作计划
    • 学习计划
    • 学习日记
      • 第二周:周四
      • 重载(Overload)
      • 重写(Override)
        • 总结:
      • 变量
        • 1、局部变量
        • 2、成员变量
      • 局部代码块和构造代码块
        • 1、构造代码块
        • 2、局部代码块
        • 总结:
        • 封装
        • 访问修饰符
      • static关键字


创作计划

**
1,机缘

我是一名普二学生,由于疫情原因大一下班学期也是没有开学,不甘堕落于是在互联网这片汪洋大海中,摸寻着前进的方向,也是偶然的机会接触到了CSDN,在这里有一群志同道合的朋友一起努力,于是自己也加入了进了,一篇两篇,也收获了很多的粉丝,推动着我前进…

2,收获

在CSDN这个大家庭里,每天都过得很充实,尤其是有不错的粉丝量,文章上了热榜,都会让我高兴半天,也结识了很多优质博主,像凉哥,哪吒…

3,日常

创作已经成为记录生活的一部分了,这里有我成长的点滴…

4,憧憬

有朝一日我也能成为优质博主,有自己的铁粉团队…

**

学习计划

**
1,学习目标

这21天我们可以分为3周,每周更新三篇

2,学习内容

  • 第二周:周一
  • 面向对象,
  • 包括面向对象三大特征,
  • 关键字private,this
    第二周:周三
  • 方法重载与重写
  • static关键字
  • 权限修饰符,
  • 常量,
    第二周: 周六
  • 抽象类,接口
  • 内部类等概念!

3,学习时间
每周一,周三,周六

4,学习产出:

技术笔记每周3篇

Blink若干

学习日记

第二周:周四

重载(Overload)

  • 1、发生在一个类中,方法名称相同,参数列表不同(参数的个数和类型不同)
  • 2、编译器在编译时会根据方法的的签名自动绑定调用的方法
  • 3、参数列表指的是参数类型的顺序和个数,而不是参数名
  • 4、重载和返回值类型无关,构造方法属于重载

例如:

  • 1)method(int i,int j)和method(int j,int i)不属于重载
  • 2)method(String i,int j)和method(int j,int i)属于重载
  • 3)method(String i,int j)和method(int j,String i)属于重载
  • 4)method(int i)和method(int i,int j)属于重载

重写(Override)

发生在父子类中,返回值相同、方法名相同,参数列表相同,方法体不同
重写要求方法的修饰符:子类权限>=父类的权限
父类的私有方法不能被重写

总结:

  • 1、重载:发生在一个类中,方法名相同,参数列表不同(参数的个数不同,参数的数据类型不同,参数数据类型的顺序不同),和返回值无关
  • 2、重写:发生在父子类中,返回值、方法名、参数列表相同,只有方法体不同
  • 3、重载的意义:是为了方便外界对方法调用,什么样的参数程序都可以找到对应的方法来执行,体现了程序的灵活性
  • 4、重写的意义:在不修改父类源码的前提下,进行功能的修改和拓展(父类提供的方法不满足子类的需求,那么子类就需要重写)
  • 5、父类的私有方法不能被重写,重写要求方法的修饰符:子类的权限大于等于父类

变量

1、局部变量

位置:方法里或者局部代码块中
注意:在使用的时候必须手动进行初始化来分配内存
作用域:方法里或者局部代码块中

2、成员变量

位置:类里方法外
注意:不用手动初始化,自动被初始化为默认值
作用域:整个类中

局部代码块和构造代码块

1、构造代码块

  • 位置:类里方法外
  • 作用:用于抽取构造方法中的共性代码
  • 执行时机:每次调用构造方法前都会调用构造代码块
  • 注意事项:构造代码块优先于构造方法加载

2、局部代码块

位置:放在方法里边的代码块
作用:一般用于控制变量的作用范围,出了花括号就失效
注意事项:变量的作用范围越小越好,成员变量会存在线程问题

总结:

  • 1)在创建对象时,程序会自动调用构造方法,但是如果有构造代码块,会先去执行构造代码块,再去执行构造方法
  • 2)当通过对象调用方法的时候,会执行方法里边的内容,如果方法中有代码块,就会去执行代码块
  • 3)执行顺序:构造代码块—>构造方法—>局部代码块(前提:调用方法(方法中有局部代码块,局部代码块才会执行))
  • 4)局部代码块的作用:控制变量的作用范围
  • 5)构造代码块的作用:提取构造方法的共性

封装

封装是隐对象的属性和实现细节,仅仅对外提供公共的访问方式,比如类和方法
好处:提高安全性和提高重用性
private:是一个权限修饰符,可以用来修饰成员变量和成员方法,被私有化的成员只能在本类中访问
如何访问私有资源?
1)访问成员变量
setXXX-对外提供公共的设置值的方式
getXXX-对外提供公共的获取值的方式
2)访问成员方法
通过把私有方法放在公共方法中来供外界调用

访问修饰符

public:公开的,任何类
protected:受保护的,本类、子类、同包类
default(默认的):什么都不写,本类、同包类
private:私有的,本类
注:类的访问修饰符只能是public或默认的
类中成员的访问修饰符以上四种都可以

static关键字

  • 1、是java中的一个关键字,用来修饰成员(成员变量和成员方法)

  • 2、随着类的加载而加载,优先于对象加载,只加载一次之后,就会一直存在,不在开辟新的空间,直到类消失才一起消失

  • 3、静态资源也称之为类资源,全局唯一,被全局所有对象共享。

  • 4、可以直接被类名调用,静态只能调用静态,非静态可以随意调用

  • 5、static不能和this或者super共用,因为有static时可能还没有对象。

  • 6、静态之间的调用关系

     静态资源可以调用静态资源
     静态资源不可以调用普通资源
     普通资源可以调用静态资源
     普通资源可以调用普通资源
    

你可能感兴趣的:(Java21天学习挑战赛,java,学习,开发语言)