面向对象
-
Java的核心思想就是oop面向对象编程
-
面向过程&面向对象
- 面向过程思想:
步骤清晰简单,第一步做什么,第二步做什么…
面对过程适合处理一些较为简单的问题 - 面向对象思想:
分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。
面向对象适合处理复杂的问题,适合处理需要多人协作的问题! - 面向过程和面向对象是相互配合的,从宏观整体上,我们需要使用面向对象的思路来分析整个系统;在微观操作上,就需要面向过程的思路去处理。
- 面向过程思想:
-
面向对象编程的本质是:以类的方式组织代码,以对象的形式组织(封装)数据。
-
它是抽象的,它的三大特性是:
- 封装
- 继承
- 多态
面向对象下方法的调用:
- 静态方法是随着类的产生而出现的,它比非静态方法出现的早;
- 非静态方法是需要实例化这个类才会产生,所以在没有new出来对象时,是无法通过(对象名.方法名)来调用非静态方法的;
public static void main(String[] args) {
//实例化这个类,new出来对象
//然后调用非静态方法
Demo01 demo01 = new Demo01();
demo01.a();
}
//static修饰静态方法
public static void a(){
//b();报错
}
//非静态方法是需要实例化这个类才会产生,静态方法是随着类的产生而出现的,b()方法还没有创建,所以报错
public void b(){
}
- static:静态变量:静态属性、静态方法、静态代码块等等。
- 静态方法、属性都是跟随类出现的,静态属性可以直接用类调用,也可以用普通的方法调用,如Student.age;静态方法可以直接被其他方法调用不用对象实例化,如go()。
public class Student {
private static int age;//静态属性
private double score;
public void run(){
go();
}
public static void go(){//静态方法
}
public static void main(String[] args) {
Student s1 = new Student();
//调用属性
System.out.println(Student.age);
System.out.println(s1.age);
System.out.println(s1.score);
//调用方法
s1.run();
go();
}
}
- 静态代码块不能调用,只能执行一次,最先执行静态代码块,然后是代码块,最后是构造方法。
public class Student {
//执行顺序:2
{
//匿名代码块
}
//1
static{
//静态代码块
}
//3
public Person(){
//构造方法
}
}