- 面向对象与面向过程
对于复杂的问题,使用面向对象的思路去分析整体,利用面向过程进行细微操作。面向对象相当于框架,而面向过程就相当于流程。
- 面向对象编程(简称OOP)
本质:以类的方式组织代码,以对象的方式封装数据。
-
三大特性:封装、继承、多态
-
方法的调用
在不同类中调用方法,若是方法头中带static时可用类名.方法名直接调用方法,若没有static则需要实例化对象才可调用。
public class Students {
public static void say()//静态方法
{
System.out.println("说话!");
}
}
public class Demo01 {
public static void main(String[] args)
{
Students.say();
}
}
//输出结果:说话!
public class Demo01 {
public static void main(String[] args)
{
Students s=new Students();//实例化对象
s.say();
}
}
public class Students {
public void say()//非静态方法
{
System.out.println("说话!");
}
}
- 值传递
public class Demo02 {
public static void main(String[] args)
{
int a=1;
System.out.println(a);//1
Demo02 d=new Demo02();
d.change(a);
System.out.println(a);//1
}
public void change(int a){//a只是一个形参,并不代表具体的变量,与main方法中的a不是同一个
a=10;
}
}
- 引用传递
引用传递的是对象,但是本质上还是值传递
public class Demo02 {
public static void main(String[] args)
{
Person person=new Person();
System.out.println(person.age);//0
Demo02.change(person);
System.out.println(person.age);//10
}
public static void change(Person person)
{//person是一个对象,可以改变其属性
person.age=10;
}
}
class Person
{
int age;
}