前言
Java语言其实与现实世界差不多的,只不过它是代码而已,因为Java是一门面向对象的语言,它更能给人们一种更智能的感觉,下面由我为大家讲解一下面向对象
一、面向对象和面向过程的区别
面向过程 :面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。
面向对象 :面向对象易维护、易复用、易扩展。 因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。
二、面向对象三大特征
1.封装
封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部 信息。但是可以提供一些可以被外界访问的方法来操作属性。
2.继承
不同类型的对象,相互之间经常有一定数量的共同点。
3.多态
多态,顾名思义,表示一个对象具有多种的状态。具体表现为父类的引用指向子类的实例。
多态的特点:对象类型和引用类型之间具有继承(类)/实现(接口)的关系;
对象类型不可变,引用类型可变;
方法具有多态性,属性不具有多态性;
三、结构
public class A{
//-------------属性------------------
//成员属性/实例属性
String str1;
int i1;
//静态属性/类属性
static String str2;
static String i2;
//-------------方法------------------
/**
*成员方法/实例方法:
* 访问修饰符 返回值类型 方法名(参数列表){
* ...代码块...
* }
*/
public void method01(){}
public void method02(){}
/**
*静态方法/类方法:
* 访问修饰符 static 返回值类型 方法名(参数列表){
* ...代码块...
* }
*/
public static void method03(){}
public static void method04(){}
}
四、对象
对象是类的具体表现形式,可以操作对象中的各种信息
具体使用:
public class Test {
public static void main(String[] args) {
//创建Perosn类的对象
Person p = new Person();
//设置属性
p.name = "哈哈哈";
p.age = 18;
//获取属性
String n = p.name;
System.out.println(n);
System.out.println(p.age);
//调用方法
p.eat();
p.sleep();
}
}
//人类
class Person{
String name;
int age;
public void eat(){
System.out.println("喝水");
}
public void sleep(){
System.out.println("喝水");
}
}