Java基础系列文章
Java基础(一):语言概述 | Java基础(二):原码、反码、补码及进制之间的运算 | Java基础(三):数据类型与进制 | Java基础(四):逻辑运算符和位运算符 |
---|---|---|---|
Java基础(五):流程控制语句 | Java基础(六):数组 | Java基础(七):面向对象编程 | Java基础(八):封装、继承、多态性 |
Java基础(九):Object 类的使用 | Java基础(十):关键字static、代码块、关键字final | Java基础(十一):抽象类、接口、内部类 | Java基础(十二):枚举类 |
Java基础(十三):注解(Annotation) | Java基础(十四):包装类 | Java基础(十五):异常处理 | Java基础(十六):String的常用API |
Java基础(十七):日期时间API | Java基础(十八):java比较器、系统相关类、数学相关类 | Java基础(十九):集合框架 | Java基础(二十):泛型 |
Java基础(二十一):集合源码 | Java基础(二十二):File类与IO流 | Java基础(二十三):反射机制 | Java基础(二十四):网络编程 |
Java基础(二十五):Lambda表达式、方法引用、构造器引用 | Java基础(二十六):Java8 Stream流及Optional类 |
弊端
越来越明显,出现了面向对象思想并成为目前主流的方式面向过程的程序设计思想(Process-Oriented Programming),简称
POP
过程
:过程就是操作数据的步骤 函数
函数
为组织单位执行者思维
”,适合解决简单问题。扩展能力差、后期维护难度较大面向对象的程序设计思想( Object Oriented Programming),简称
OOP
类
:在计算机程序设计过程中,参照现实中事物 类
为组织单位。每种事物都具备自己的属性
和行为/功能
设计者思维
”,适合解决复杂问题。代码扩展性强、可维护性高类比举例:人把大象装进冰箱
1.打开冰箱
2.把大象装进冰箱
3.把冰箱门关住
人{
打开(冰箱){
冰箱.开门();
}
操作(大象){
大象.进入(冰箱);
}
关闭(冰箱){
冰箱.关门();
}
}
冰箱{
开门(){ }
关门(){ }
}
大象{
进入(冰箱){ }
}
类(Class)
和对象(Object)
是面向对象的核心概念抽象的
、概念上的定义每个个体
,是具体的
,因而也称为实例(instance)
可以理解为:类 => 抽象概念的人
;对象 => 实实在在的某个人
[修饰符1] class 类名{
[修饰符2] 数据类型 成员变量名 [= 初始化值];
}
public class Person{
private int age; //声明private变量 age
public String name = “Lila”; //声明public变量 name
}
变量的分类:成员变量与局部变量
成员变量 与 局部变量 的对比
相同点
不同点
堆
栈
随着对象被GC回收而消亡
,而且每一个对象的实例变量是独立的随着方法执行的结束而消亡
,而且每一次方法调用都是独立final
有默认值
没有
,必须手动初始化。其中的形参比较特殊,靠实参给它初始化对象属性的默认初始化赋值
当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值
方法
是类或对象行为特征的抽象,用来完成某个功能操作。在某些语言中也称为函数
或过程
实现代码重用,减少冗余,简化代码
[修饰符] 返回值类型 方法名([形参列表])[throws 异常列表]{
方法体的功能代码
}
没有被调用
的时候,都在方法区
中的字节码文件(.class)中存储被调用
的时候,需要进入到栈内存
中运行 入栈
动作出栈
个数
、类型
或顺序
的不同void show(int a,char b,double c){}
构成重载的有:a)void show(int x,char y,double z){} // no
b)int show(int a,double c,char b){} // yes
c) void show(int a,double c,char b){} // yes
d) boolean show(int c,char b){} // yes
e) void show(double c){} // yes
f) double show(int x,char y,double z){} // no
g) void shows(){double c} // no
形参和实参
声明的变量
称为形式参数,简称形参使用的值/变量/表达式
称为实际参数,简称实参参数传递机制:值传递
值传递
。即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。 “数据值”
传递给形参“地址值”
传递给形参构造器(Constructor)
,也称为构造方法
构造器的作用
为实例变量赋值
构造器的语法格式
[修饰符] class 类名{
[修饰符] 构造器名(){
// 实例初始化代码
}
[修饰符] 构造器名(参数列表){
// 实例初始化代码
}
}
使用说明