摘要:初始面向对象面向对象关注现实存在的事物的各方面信息,从对象的角度出发,根据事物的特征进行程序设计类类是模子,是一个抽象的概念,确定对象将会拥有的特征属性和行为方法,是具有相同属性和方法的一组对象的集合对象对象是类的实例化表现,是一个用来描述
Lecture1 初始面向对象
面向对象:关注现实存在的事物的各方面信息,从对象的角度出发,根据事物的特征进行程序设计
类:类是模子,是一个抽象的概念,确定对象将会拥有的特征(属性)和行为(方法),是具有相同属性和方法的一组对象的集合
对象:对象是类的实例化表现,是一个用来描述客观事物的实体
类是对象的类型,对象是特定类型的数据
属性和方法:属性--对象具有的各种静态特征;方法--对象具有的各种动态行为
包的推荐命名规则:
均使用小写英文字母
采用域名的倒序
Tips:类中的成员属性默认有初始值
成员属性的默认值
基本类型 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0 |
char | "u0000" |
boolean | false |
引用类型 | null |
单一职责原则:又叫单一功能原则;一个类应该有且只有一个引起功能变化的原因;如果一个类所承载的功能越多,它的交融耦合性就越高,可复用性就越低
实例化对象的过程可以分成两个部分:
声明对象(发生在栈空间,在栈中开辟空间,储存的是实例化对象的堆空间的内存地址)
实例化对象(发生在堆空间,完成对象的初始化操作)
Lecture2 构造方法介绍构造方法:又称为构造方法,构造器
构造方法结构:
构造方法名与类名相同且没有返回值
构造方法的语法格式:
public 构造方法名(参数列表){ 初始代码块; }
构造方法只能在对象实例化的过程中调用
当没有指定构造方法时,系统会自动添加无参的构造方法
当存在指定的构造方法时,无论是有参还是无参的构造方法,系统都不会再自动添加无参的构造方法
一个类中可以有多个构造方法
就近原则:优先寻找同一个作用范围内的同名元素
this关键字:代表当前对象的默认引用
this关键字的使用:
调用成员属性,解决成员属性和局部变量的同名冲突
调用同一个类中的其他成员方法
调用重载的构造方法,构造方法在类内不能直接被普通成员方法调用,但可以使用this(参数列表);调用构造方法,this(参数列表);必须放在方法体内的第一行
vio
chapter9 面向对象案例:
package Chapter9.Lecture1.cat; /** * 宠物猫类 */ public class Cat { //成员属性:昵称、年龄、体重、品种 String name; //昵称,String类型默认值为null int month; //年龄,int类型默认值为0 double weight; //体重,double类型默认值为0.0 String species; //品种 //无参构造方法 public Cat() { System.out.println("我是无参构造方法"); } //带参构造方法 public Cat(String name, int month, double weight, String species) { this.name = name; this.month = month; this.weight = weight; this.species = species; } //成员行为:跑动、吃东西 //跑动的方法 public void run() { System.out.println("小猫快跑"); } public void run(String name) { System.out.println(name + "快跑"); } //吃东西的方法 public void eat() { System.out.println("小猫吃鱼"); } }
package Chapter9.Lecture1.cat; public class CatTest { public static void main(String[] args) { //对象实例化 Cat one = new Cat(); //测试 one.eat(); one.run(); System.out.println("=================="); one.name = "花花"; one.month = 2; one.weight = 1000; one.species = "英国短毛猫"; System.out.println("昵称:" + one.name); System.out.println("年龄:" + one.month); System.out.println("体重:" + one.weight); System.out.println("品种:" + one.species); System.out.println("=================="); one.run(one.name); } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/68661.html
摘要:特点具备相当的好的灵活性,不仅能够使用来定义缓存的和各种,还提供开箱即用的缓存临时存储方案,也支持和主流的专业缓存例如的集成。其中号代表这是一个表达式,此表达式可以遍历方法的参数对象,具体语法可以参考的相关文档手册。 SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,...
摘要:特点具备相当的好的灵活性,不仅能够使用来定义缓存的和各种,还提供开箱即用的缓存临时存储方案,也支持和主流的专业缓存例如的集成。其中号代表这是一个表达式,此表达式可以遍历方法的参数对象,具体语法可以参考的相关文档手册。 SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,...
摘要:享元模式属于结构型模式的一种,又称轻量级模式,通过共享技术有效地实现了大量细粒度对象的复用概述两种结构状态内部状态享元对象内部不随外界环境改变而改变的共享部分。 享元模式(Flyweight Pattern)属于结构型模式的一种,又称轻量级模式,通过共享技术有效地实现了大量细粒度对象的复用... 概述 两种结构状态 内部状态:享元对象内部不随外界环境改变而改变的共享部分。 外部状态...
摘要:面向对象与面向过程的区别要知道,二者并不是非此即彼,而是相辅相成的。而面向过程,则在微观上对对象内部进行具体的实现。面向对象的三大特性说到面向对象,就不得不说其三大特性封装继承和多态。封装封装是面向对象最基础的特性。 作者:伯特出处:github.com/ruicbAndroid/LoulanPlan声明:本文出自伯特的《LoulanPlan》,转载务必注明作者及出处。 刚学习 Jav...
阅读 2216·2021-08-23 09:46
阅读 890·2019-08-29 18:31
阅读 1835·2019-08-29 17:04
阅读 2427·2019-08-29 12:23
阅读 1836·2019-08-26 14:05
阅读 1056·2019-08-26 13:44
阅读 3112·2019-08-26 12:23
阅读 2166·2019-08-26 10:46