面向对象思想
- 概述:面向对象是基于面向过程的编程思想。
面向过程:强调的是每一个功能的步骤
面向对象:强调的是对象,然后由对象去调用功能 - 特点:
是一种更符合我们思想习惯的思想
可以将复杂的事情简单化
将我们从执行者变成了指挥者
面向对象开发,设计,特征
- 开发:就是不断地创建对象,使用对象,指挥对象做事情。
- 设计:其实就是在管理和维护对象之间的关系。
- 特征:封装、继承、多态。
类
类:成员变量 成员方法
比如:
package cn.manman.com;
public class student {
String name;//成员变量
int age;//成员变量
String address;//成员变量
//下面的都是成员方法
public void study(){
System.out.println("爱学习");
}
public void eat(){
System.out.println("爱吃饭");
}
public void sleep(){
System.out.println("爱睡觉");
}
}
现在是创建好了成员变量和成员方法,可以如何使用呢?
使用如下:
package cn.manman.com;
public class studentDemo {
public static void main(String[] args) {
student student=new student();
student.eat();
System.out.println(student.age);
}
}
我创建了一个测试类,然后我需要把之前创建好的成员方法拿过来,此时只需要调用即可。
接下来我们看给成员变量赋值:
package cn.manman.com;
public class studentDemo {
public static void main(String[] args) {
student student=new student();
student.eat();
student.age=12;
student.name="lisi";
student.address="北京";
System.out.println(student.name+","+student.age+","+student.address);
}
}
结果
只需要直接给值就可以;
成员变量和局部变量的区别
- 在类中的位置不同
成员变量:在类中方法外;
局部变量:在方法定义中或者方法声明上;
package cn.manman.com;
public class bijiao {
int num=10;//成员变量
public void show(){
int num2=20;//局部变量
}
}
- 在内存中的位置不同
成员变量:在堆内存;
局部变量:在栈内存; - 生命周期不同
成员变量:随着对象的创建而存在,反之消失;
局部变量:随着方法的调用而存在,调用完毕而消失; - 初始化值不同
成员变量:有默认初始化值;
局部变量:没有默认初始话值,必须定义赋值之后再可以使用;
注意事项:
局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则;
方法的形式参数是类名的时候如何调用
- 形式参数的问题:
基本类型:形式参数的改变不影响实际参数;
引用类型:形式参数的改变直接影响实际参数;
(1)基本类型:
package cn.manman.com;
public class bijiao {
public static void main(String[] args) {
Demo demo=new Demo();
int result=demo.sum(20, 30);
System.out.println(result);
}
}
class Demo{
public int sum(int a,int b){//这里的参数就是基本类型
return a+b;
}
}
(2)引用类型:
如果看到一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象;
package cn.manman.com;
public class bijiao {
public static void main(String[] args) {
Demo2 demo2=new Demo2();
Demo1 demo1=new Demo1();
demo1.method(demo2);
}
}
class Demo2{
public void show(){
System.out.println("我们爱学习!");
}
}
class Demo1{
public void method(Demo2 demo2){
demo2.show();
}
}
像上面这样都是引用类型;