面向对象
我们之前写的程序,发现用if else 吃遍天,不管多少流程,直接堆起来。构成一个摇摇晃晃的“程序”.现在,让我们用面向对象的思想去结构和理解java.
什么是面向对象:简单的来说,我们只是知道我们要怎么做,而先不考虑去做的具体步骤。
例如:我们想吃饭,那么我们只需要把食材扔给“做菜” 这个步骤,拿到“碗筷” 然后我们把它们放在饭桌上,就可以吃了。我们不去考虑食材哪里买,做菜放多少酱油,用什么工具去炒。我们变成了一个执行者。
用我们程序来说,我们只需要规定方法,传入参数,拿到返回值,方法里的实现步骤,在我们的面向思想方法中,并不要考虑。
- 这时候,有人就会想到了,咦,我们这什么都不用做,只是架构方法,岂不是爽翻了,我们既然有面向对象,那就有面向过程,我们的面向过程就是去实现具体的代码。通过面向对象的思路,我们把需要的东西,去把它们实例化出来,分步实现,把从一开始的代码堆变成有条理好维护的一段程序。
属性:
- 什么是属性,就是对象有的一些基本特性。比如 学生有 姓名 年龄 学号 这些都是它们的属性
class student{
private String name;
private int age;
private String studentNum;
}
-
- 在上边我们看到类里定义了几个变量,它们分别代表学生特有的属性。通常我们把属性定义为私有的
- 方法
- 方法就是指我们面向对象思想中的怎么做,面向过程就是指具体的实现。方法为了节约内存,少些代码。
- 例如:
class Student{
private String name="小王";
private int age=10;
private String studentNum="CSDN201710001";
public void show(){
System.out.print("名字为:"+name+"的学生学号 为"+studentNum+"年龄是"+age)
}
}
- 方法的调用:
class Test{
public static void main(String[] args){
Student s=new Student();
s.show();
}
}
显示结果:
名字为:小王的学生学号为CSDN201710001年龄是10
- 类名 对象名=new 类名(); 对象名.方法名
- 静态方法和属性
- 看了上边我们的方法调用,我们就会想到有没有直接可以调用方法的呢,不用去new对象。答案肯定是有的:那就是我们的的静态方法。
- 例如:
public class StaticDemo{
public static int i=10;
public static void show(){
System.out.println(i);
}
}
* 调用:
public calss Test{
public static void main(String[] args){
System.out.println(StaticDemo.i);
StaticDemo.show();
}
}
打印结果:
10
10
关于静态方法使用注意事项:
- 类名.属性
- 类型.方法名
- 静态方法不可调用非静态方法或者属性
调用静态方法不用new对象,如果不想别人new你的对象,那么我们可以吧构造方法私有化。
------------2017年6月12日23:36:18 syf