1.1、面向过程和面向对象的编程思想
面向过程的编程思想:
以流程为为单位,注重功能的实现
存在的问题:
流程之间相互依赖,导致代码之间的耦合性非常高不利于程序的维护和后期功能的扩展
面向对象的编程思想:
面向对象是建立在面向过程的基础之上,也就是说在面向对象的编程中一定会用到面向过程的编程思想。
面向对象就是把任何一个事物看作是一个整体,从事物的特征(属性)和行为(方法、功能)两个方面进行描述。
面向对象特点:
能够以更加贴合实际情况或者正常的思维方式,来去理解一个事物或者软件的功能
面向对象是来源于生活服务于生活
面向对象的编程英文简称--OOP
面向对象的四大或者三大特征:抽象(可选)、封装、继承、多态
1.2、对象
1.2.1 什么是对象
对象:具体存在的一个事物就是一个对象,万事万物,皆对象
特点:无论两个事物有多么的相近或者相似,永远都是两个不同的对象一项法律、法规、规章制度、政策都是一个对象
1.3、抽象
把同一类事物,它们共同的特征(属性)和行为(方法)进行抽取、归纳、总结。
1.4、封装
意义和目的:就是包装的意思,为了保证抽象出来数据的安全性
封装包括对属性和方法的封装,而且同一类事物要把它们的属性和方法封装到一起,这才是一个完整的封装。
封装不是绝对的,如果需要访问封装起来的属性和方法,就必须通过指定的公共入口(方法、接口)。
1.5 、类(Class)
在Java中,类中存放的就是抽象出来的属性和方法。
[访问修饰符] class 类名{ //属性 //方法}
1.51数据类型的默认值:
整数类型的默认值是0
浮点类型的默认值是0.0
boolean类型的默认值是:false
char类型的默认值是空格
所有引用类型的默认值都是null
1.6、 对象的创建
要想使用类中的属性和方法,就必须创建一个当前类的对象,语法:类名 对象名=new 类名();
通过对象,调用属性和方法:语法:对象名.全局属性名、对象名.方法名(参数列表)
举例:
public class Demo1{
//成员属性、全局变量
int num;
double money;
String name;
oolean flag;
char c;
public static void main(String[]args){
//创建对象
Demo1 demo1=new Demo1();
demo1.num=100;
demo1.money=99.66;
demo1.flag=true;
demo1.c='z';
System.out.println(demo1.num);
System.out.println(demo1.money);
System.out.println(demo1.name);
System.out.println(demo1.flag);
System.out.println(demo1.c);
}
}
1.6.1 构造方法
构造方法:方法名和类名相同;没有void,也没有return;方法不能被static修饰。
类名 对象名=new 构造方法(参数列表);
语法: [访问修饰符] 类名(参数){}
1.6.2 构造方法的分类
当一个类中,不存在任何形式的构造方法时,那么JVM会提供一个默认的无参数的构造方法。
构造方法分为:
无参数的构造方法
隐式无参数的构造方法
显示无参数的构造方法
有参数的构造方法,在调用时,需要传递数据,而且数据要和构造方法中参数的类型,个数,顺序必须完全匹配。
构造方法中的参数,有被称为形式参数(形参),在调用这个构造方法时,传递的数据称为实际参数(实参)
在一个类中,可以同时拥有多个构造方法,只要构造方法之间的参数列表不同即可。
示例:
public class Demo2{
public Demo2(){
System.out.println("------无参数的构造方法------");
}
public Demo2(String name,int age){
System.out.println("------有参数的构造方法----- name="+name+", age="+age);
}
public Demo2(int a,int b){
System.out.println("------有参数的构造方法----- a="+a+", b="+b);
}
public static void main(String[]args){
Demo2 demo2=new Demo2("zhangsan",20);
}
}
1.7、 方法
定义语法:[访问修饰符] 返回值类型 方法名(参数列表){ //返回值 return 返回值;}
方法分类:
1:无返回值无参数的方法
[访问修饰符] void 方法名( ){ } 说明: void 表示当前方法不会返回数据给调用方
2:有返回值无参数的方法
[访问修饰符] 返回值类型 方法名(){ //代码 //返回值 return 值;}
说明: 返回值类型由返回值来决定的 带有返回值的方法的最后一句代码,一定是:return 返回值; 而且一次只能返回一个值。
3:无返回值有参数的方法
[访问修饰符] void 方法名(数据类型 参数1,数据类型 参数2,...){}
说明: 方法中的参数可以有多个,参数之间使用逗号分隔。 方法中的参数也称为形式参数(形参) 调用有参数的方法时,传递的数据称为实际参数(实参),在传递数据时,必须和目标方法中参数的个数,类型,顺序完全一致。
4:无返回值有参数的方法
[访问修饰符] 返回值类型 方法名(参数列表){ //最后一句代码 return 返回值;}
1.8、 代码执行的顺序
在JavaSE中,main方法是程序的入口,所有普通的方法,都要在main方法中被调用才有机会得到运行;普通方法运行完毕后,再回到Main方法,所以,程序从Main方法开始,也从Main方法结束。
1.9、this关键字
this关键字只能出现在没有被static修饰的方法中。
作用:this关键字表示对当前类某个对象的引用(哪个对象调用这个方法,this就指向谁)
用法:
当方法中的局部变量或者参数和成员(全局)变量完全一致时,以局部变量或者参数为主(就近原则);如果此时就想调用全局变量,则可以通过this关键字来解决,格式是:this.属性名。当this以this(参数列表)的形式,出现在构造方法的第一句代码时,就表示当前构造方法,调用了该类中其它的构造方法,可以通过this的参数列表来匹配。