活动地址:CSDN21天学习挑战赛
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…
…
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…
…
个人名片:
🐼作者简介:一名大一在校生
🐻❄️个人主页:小新爱学习.
🐼个人WeChat:hmmwx53
🕊️系列专栏:零基础学java ----- 重识c语言
🐓每日一句:人生没有一劳永逸,想不被抛弃,只有自己努力
活动地址:CSDN21天学习挑战赛
**
**
1,机缘
我是一名普二学生,由于疫情原因大一下班学期也是没有开学,不甘堕落于是在互联网这片汪洋大海中,摸寻着前进的方向,也是偶然的机会接触到了CSDN,在这里有一群志同道合的朋友一起努力,于是自己也加入了进了,一篇两篇,也收获了很多的粉丝,推动着我前进…
2,收获
在CSDN这个大家庭里,每天都过得很充实,尤其是有不错的粉丝量,文章上了热榜,都会让我高兴半天,也结识了很多优质博主,像凉哥,哪吒…
3,日常
创作已经成为记录生活的一部分了,这里有我成长的点滴…
4,憧憬
有朝一日我也能成为优质博主,有自己的铁粉团队…
**
**
1,学习目标
这21天我们可以分为3周,每周更新三篇
2,学习内容
3,学习时间
每周一,周三,周六
4,学习产出:
技术笔记每周3篇
Blink若干
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.局部变量:变量是基本类型:数据值不能发生改变
变量是引用类型:地址里面的内容可以发生改变,但是地址是不能改变的
1.概念:是一个修饰符,私有的。
2.使用:修饰成员(成员变量,成员方法)。
3.特点:被它修饰的成员,只能在本类中直接方法。在外部访问,只能通过它提供的Get和Set方法去访问。
间接的保护了被修饰的成员变量和成员方法。
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.在创建对象时候,被自动调用。
包含:
1.私有属性
2.构造方法
3.Get()和Set()方法。
4.toString()方法
继承:面向对象的一个特性,从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并扩展新的功能