面向对象:
Java是一种面向对象的计算机语言,是一种设计思想,java是将现实世界的对象进行抽象为一种模板(类)
万物皆对象
面向过程:将程序的每一步都通过代码明确编写;
起床过程代码-穿衣代码-出门下楼-走向地铁-进入地铁-走出地铁-走大楼下-走上4楼-走进教室
面向对象:将程序需要的过程封装为方法,过程中需要的数据封装为属性,通过参加对象,然后调用对象的方法或 属性完成程序编写
参加同学对象-调用起床方法-调用穿衣方法-调用上课方法
面向过程和面向对象区别:
面向过程:强调过程步骤
面向对象:强调对象,程序关注对象本身,过程的实现是通过调用对象的方法
总结:面向对象是一种符合开发者编程习惯的设计思想,它可以将负责的程序简单化,结构化
面向对象的三大特性:封装,继承,多态(后面我会仔细介绍这三大特征的具体细节)
类和对象:
类:是一种抽象的概念,是包含属性和方法的集合,是一种具体事物的模板,通过该事物的特征(属性)和行为(方法)来描述这类事物
现实中,描述一类事物:
属性:就是该类事物的特征信息
方法:就是该类事物的行为,也就是能做什么
描述:人类
属性:姓名,性别,年龄,身高,…..
方法:吃,喝,玩…..
对象:是一类事物具体的表现,是一种具体概念,对象是类的一个实例,(所以创建对象的过程就是实例化的过程)
描述:张三
属性:张三 男 8 150
方法:嫖 赌
总结:
类和对象的关系:
-
l 类是一类具有相同特征(属性)和行为(函数)的事物(对象)的描述,是抽象的概念
l 对象是具有一类事物的特征和行为的实例,是具体的概念
l 类是对象的模板(类是对象的数据类型),对象是类的实体(对象是类具体值)
备注:所有的加粗和斜体要仔细看,如有问题可以给我留言,我会在每天中午过后回复大家。要仔细看,仔细看,仔细看!从今天开始更新的为Java最核心的基础概念,大概会持续更新1个半月左右,希望可以帮助大家学会Java,欢迎大家和猪猪一起学Java,一起进步
想想设计图和实际的产品
类的定义:
描述一类事物需要说明:
特征:事物的信息 行为:事物的能做什么
在java开发中通过class描述事物:
属性:通过变量描述特征 函数:通过定义函数来描述事物的行为
定义类的语法:
public class 自定义的类名{
//属性
//方法
}
说明:
类名:自定义的,首字母大写,同时遵循其他标识符的命名的常规规则
属性:和定义变量的语法基本一致,只是该变量定义在类中而不是方法中
语法:
数据类型 属性名;
方法:和前面定义方法基本一致,只是在修饰符中将static去掉,static的作用后面再具体说明
语法:
public 返回值类型 方法名(参数列表){
//方法体
[return 值;]
}
现实世界中:是先有对象,后有类
程序开发中:先有类,后有对象
对象的使用:
创建对象
语法:
类名 对象名 = new 类名();
调用对象的属性和方法
语法:
对象名.属性名;
对象名.方法名(参数列表);
在计算机中变量存在作用域:
根据其所在位置分为:成员变量和局部变量
成员变量:是定义在类中的变量是成员变量,所有类的属性都是一个成员变量
局部变量:是定义在函数中的变量是局部变量
区别:
1.成员变量定义在类中,局部变量定义在函数中
2.成员变量在作用范围是整个类中都可访问,而局部变量的作用范围只是在当前方法中
3.成员变量有默认值,而局部变量没有默认值,并且局部变量在使用前必须赋值
成员变量的默认值:
整数(byte,short,int,long):默认值为0
小数(double,float):默认值是0.0
布尔(boolean):默认值是false
字符串(String)默认值是null
字符(char)😗*默认值是’\u0000’**在特定环境下编译是\u0000,在utf-8和gbk下是空,也就是什么都没有。
栈:一般都用于存储变量
堆:存放对象值
Student stu = new Student();
Student stu:计算机会在栈中开辟空间存放变量
new Student()::是在堆中开辟空间,存放一个学生对象,该对象具有学生类所有的属性和方法
=将右边堆内存空间的地址赋值给左边栈中变量