方法重载和方法递归
-
方法重载:几个方法相似的方法(都是加 都是减这种相似)可以把他们的方法名定义为一样的,这样在调用的时候很方便,前提必须是 方法相似
-
什么条件满足之后构成了方法重载
-
在同一个类里面
-
参数列表不一样
-
数量不同
public static void m1(){} public static void m2(int a){}
-
顺序不同
public static void m1(int a,double b){} public static void m2(double b,int a){} //以下是方法重复不是重载 public static void m1(int a,double b){} public static void m2(int b,double a){} // a b 只是名字
-
类型不同
public static void m1(double a){} public static void m2(int a){}
-
方法重载和返回值类型和修饰符无关
-
-
方法递归
-
递归很占内存,是自己调用自己
package laodu; public class Day02 { public static void main(String[] args) { System.out.println(main begin); m1();//到这一步调用下面的m1 System.out.println(main over);//永远不会被执行 public static void m1(){ System.out.println(m1 begin); m1();//m1又调用自己 System.out.println(mm1 over);//永远不会执行 } }
面向对象
面向过程和面向对象的区别
-
面向过程:(因果关系)
*优点:对于业务逻辑比较简单的程序,可以达到快速开前期投入较低
*缺点:采用面向过程的方式开发很难解决非常复杂的业务的业务逻辑,面向过程的方式导致软件元素之间的“耦合度”非常高,只要其中一环出问题,整个系统受到影响
-
面向对象:(关注对象)
-
有点耦合度低,扩展能力强
-
前期投入较高,需要经行独立提的抽取,大量的数据分析
类和对象的概念
-
-
什么是类:
-
类在现实生活中是不存在的,是一个模板,是一个概念。是人类大脑思考抽象的结果.
-
类代表了一类事物,
-
在现实世界当中,对象A和对象B之间具有共同的特征,进行抽象总结出的模板,这个模板被叫做类
-
-
什么是对象
对象就是实际存在的个体,现实当中实际存在
-
描述整个软件开发的过程
-
程序员先观察现实世界,从现实世界中寻找对象
-
寻找了n个对象之后,发现所有的对象都有共同特征
-
程序员在大脑中形成一个模板(类)
-
java程序员可以通过java代码来表述一个类
-
java程序中有了类的定义,然后通过类就可以创建对象
-
有了对象之后,可以让对象协作起来形成一个系统
-
类---实例化--》对象
对象又被称为实例
对象--抽象--》类
重点
-
类描述的是对象的共同特征
-
共同特征列入身高特征
-
这个身高特征在访问的时候,必须先创建对象,通过对象去访问这个特征
-
因为这个特征具体在某个对象上之后值不同,有人1800 有人156
-
一个类主要描述上面信息呢
-
主要描述的是状态 + 动作
-
状态信息:名字身高,性别,年龄
-
动作信息:吃唱歌,跳舞,学习
-
状态--》一个类的属性
动作--》一个类的方法
类{
属性:描述对象的状态信息
方法:描述对象的动作信息
}
对象的创建和使用
-
通过一个类可以实例化N个对象
-
实例化对象的语法:new 类名();
-
new 是java语言当中的一个运算符
-
new运算符的作用是创建对象,在jvm堆内存中开辟新的空间
比如new一个 对象
Student s = new Student();
其中的s 是引用, 程序员通过引用去访问堆内存中的对象内部的实际变量,应用是一个变量,变量中保存了内存地址指向了一个对象