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

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

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

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


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

个人名片:

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

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

文章目录

    • 创作计划
    • 学习计划
    • 学习日记
      • 第二周:周一
    • 一、面向对象OOP
        • 类:
        • 对象:
        • 类和对象的关系
        • 类的使用:通过创建对象来使用
        • 对象的内存结构
        • 成员变量和局部变量
        • private关键字:
        • this关键字:
        • 封装思想
        • 构造方法:
        • JAVABean类:标准的模板类,用来封装数据;
        • 继承

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


欢迎参与CSDN学习挑战赛,成为更好的自己,请参考活动中各位优质专栏博主的免费高质量专栏资源(这部分优质资源是活动限时免费开放喔~),按照自身的学习领域和学习进度学习并记录自己的学习过程。您可以从以下3个方面任选其一着手(不强制),或者按照自己的理解发布专栏学习作品,参考如下:

**

创作计划

**
1,机缘

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

2,收获

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

3,日常

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

4,憧憬

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

**

学习计划

**
1,学习目标

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

2,学习内容

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

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

4,学习产出:

技术笔记每周3篇

Blink若干

学习日记

第二周:周一

一、面向对象OOP

1、三大特性

  • (1)封装:把相关的数据封装成为一个“类”组件
  • (2)继承:子类自动共享父类的属性和方法,这是类之间的一种关系
  • (3)多态:增强软件的灵活性和重用性

2、生活中的描述

属性–实物的信息(名词)

行为–实物能做什么(动词)

Java中的描述

成员变量–事物的属性

成员方法–事物的行为

类:

定义:对生活中一类具有共同属性和行为的事物的抽象。

2.组成:

属性:事物的特征,通过成员变量来实现。比如:小狗的年龄,姓名,体重
成员变量:在类当中,方法外边;
行为:事物的动作。通过成员方法来实现。比如:小狗:sleep();eat();
成员方法:和之前定义的方法一样,但是要去掉static;
public void getSum(){};

类:是事物的统称,是对象的模板,类是一种虚拟的概念,看不见,摸不着,java语言最基本的单位就是类,类似于类型。类是一类事物的抽象,可以理解为模板

对象:

对象:对象是这个世界上实实在在存在的个体,你看到的任何一个东西都是一个对象,每个对象都具有三个特点:对象的状态(描述对象的基本特征),对象的行为(描述对象的功能),对象的标识(是指对象在内存中都有一个唯一的地址值用来和其他对象区分开来)

类和对象的关系

		类相当于模板,对象是一个具体的事物。比如:类:模子;对象:一块月饼。

类的使用:通过创建对象来使用

		1.对象的创建:类名 对象名=new 类名称();  Dog tom=new Dog();
		2.成员变量的访问:对象名.变量名;  tom.age;tom.weight;
		3.成员方法的访问:对象名.方法名;  tom.sleep();tom.eat();tom.getSum();

对象的内存结构

	1.创建对象时候,真实的对象在堆内存中,栈内存中对象里存储的是地址值。 Student stu=new Student();
	2.堆内存中,真实的对象里的方法其实是地址值,映射到方法区里字节码文件里的真实的方法,把这个方法加载进栈内存。stu.study();

成员变量和局部变量

	区别:
		1.位置不同:
			1.成员变量:在类当中,方法外边
			2.局部变量:在方法里边。
		2.内存中存储不同:
			1.成员变量:跟着对象走的,在堆内存中。
			2.局部变量:跟着方法走的,在栈内中。
		3.生命周期不同:
			1.成员变量:跟着对象走的,当对象被gc回收机制销毁的时候,成员变量跟着销毁了。
			2.局部变量:跟着方法走的,当方法出栈,局部变量跟着销毁。
		4.初始化不同
			1.成员变量:在使用的时候如果没有初始值,系统默认给它初始值。
			2.局部变量:在使用的时候,必须初始化。不然程序报错。
		5.权限修饰符不同:
			1.成员变量:可以定义成员变量时,指定权限,使用修饰符:public、default、protected、private
			2.局部变量:只能被default 和final修饰。
			注意:final修饰的时候:
				1.成员变量:final修饰成员变量,该变量必须在创建对象之前进行赋值,否则编译失败。
							1)创建成员变量的时候手动赋值
							2)利用构造器进行赋值
							3)利用set方法进行赋值(不行,因为是通过对象去调用的。)
				2.局部变量:变量是基本类型:数据值不能发生改变
         				      变量是引用类型:地址里面的内容可以发生改变,但是地址是不能改变的

private关键字:

	1.概念:是一个修饰符,私有的。
	2.使用:修饰成员(成员变量,成员方法)。
	3.特点:被它修饰的成员,只能在本类中直接方法。在外部访问,只能通过它提供的Get和Set方法去访问。
			间接的保护了被修饰的成员变量和成员方法。

this关键字:

	1.概念:代表当前对象,被它修饰的变量就是成员变量。
	2.作用:主要作用就是为了区分成员变量和局部变量;
	3.用法:
		3.1)this.成员变量名----------访问成员变量
		3.2)this.方法名()--------------调用方法(一般不用)
		3.3)this()------------调用构造方法(一般不用)
		就近原则:
	1.当成员变量和局部变量重名的时候,作用域里优先考虑理它最近的变量。

封装思想

	1.是Java三大特性之一。(封装、继承、多态)
	2.将某些信息隐藏到类的内部,不允许外界直接访问,只能通过该类提供的方法来对隐藏信息的访问。
				 private实现的隐藏,					Get()和Set()方法
	3.好处:
		1.把代码进行封装,提高代码复用性。
		2.通过隐藏信息,提高代码安全性。
	4.例子:方法就算一种封装,封装了一个独立功能的代码块。
		        类也算一种封装,封装了属性和行为。

构造方法:

	1.概念:用来创建对象的方法。
	2.格式:public 类名称(){}  //当前类里:public static void get(){}   模板类:(成员方法)public void get(){}
	
	3.使用:就是在创建对象的时候,通过调用构造方法来实现创建对象。new Student();
	4.分类:
		1.无参构造:没有参数
		2.有参构造:有参数
		
	5.注意事项:
		1.方法名和类名相同
		2.没有返回值类型,也没有void.
		3.没有返回值
		4.如果一个类里没有构造方法,java会默认提供一个无参构造。
					  有构造方法,    java将不在提供。
		5.在创建对象时候,被自动调用。

JAVABean类:标准的模板类,用来封装数据;

	包含:
		1.私有属性
		2.构造方法
		3.Get()和Set()方法。
		4.toString()方法

继承

继承:面向对象的一个特性,从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并扩展新的功能

  • 1、特点:代码复用,使用关键字extends来表示继承关系
  • 2、继承具有传递性,爷爷的功能会传给爸爸,爸爸的功能会传递给儿子
  • 3、子类(派生类)继承父类(超类)之后,相当于把父类的功能进行复制
  • 4、Java只支持单继承,一个父类可以有多个子类,但是一个子类只能有一个父类
  • 5、继承是is a的关系,要求子类必须是父类的一种继承结构,依赖性非常强,强耦合

你可能感兴趣的:(Java21天学习挑战赛,java,学习,面试)