java面向对象(一)
一. 类和对象的简介
- 类与对象
和大多数同学最开始学习的编程语言不同,java不是类似于c的面向过程的语言而是一个面向对象的语言,那么有什么不同呢?面向过程,顾名思义就一件事情分步骤,一步一步的做好,例如最开始学的那些编程内容,按功能对系统需求进行分析,自顶向下逐步求精,模块化等。对系统进行一般都是一个程序就能够写完,不需要进行分类,只要一步一步按照既定步骤开始,那么一定可以完成。
但是对于某些不能直接得到步骤的问题就难以解决,并且过程语言的可拓展性较差,在技术的发展中我们发现面向对象可以提供更好的可重用性,可扩展性,可维护性,于是催生出了大量的面向对象的编程语言,C++,Java,C#等
面向对象是一种优秀的程序设计方法,基本思想是使用类,对象,继承,封装,消息等基本概念进行程序设计,更加类似于以现实事物为中心来思考,认识问题根据这些事物特点抽象的表示为类,作为系统的基本构成单元。
-
类:面向对象的最小程序单元,是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
-
对象:对类的具体实现,对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
是面向对象方法中的基本概念,具有标识唯一性,分类性,多态性,封装性,模块独立性
一句话来总结出类和对象:类是对象的模板,对象是类的实例
二. 类和对象的实现
类的基本语法:
[类修饰符] class 类名{
类体 //类体中可以有属性(变量)和方法(实现)
}
例如 定义一个Person类
public class Person{
String name;
int age;
boolean sex;
void show(){
System.out.println("我是"+name+"今年"+age+"的"+(sex?"男士":"女士");
}
}
这样我们的Person类就定义完成了,类定义完成之后需要对类进行实现,需要使用对象,对象赋值有两种
1.直接进行类的实例化
类名称 对象名称 = new 类名称 () ;
2.先声明后实例化
类名称 对象名称 = null ;
对象名称 = new 类名称 () ;
这两种方法区别在于内存划分的不同,此处不再解释,主要是关注直接进行类的实例化的内存变化
例如 实例化Person类
Person per=new Person();
等价于
Person per= null;
per=new Person();
关键字new的主要功能是分配内存空间
三.对象实例化过程
实例化对象完成后,对对象进行操作
对象.属性:表示调用类之中的属性;
对象.方法():表示调用类之中的方法。
例如
public class Person{
String name;
int age;
boolean sex;
void show(){
System.out.println("我是"+name+"今年"+age+"的"+(sex?"男士":"女士");
}
}
public class TestDemo{
public static void main(String args[]) {
Person per = new Person() ;// 声明并实例化对象
per.name = "李四" ;
per.age = 19 ;
per.sex=true;
per.show();
}
}
至于清空机制如何进行,面向对象三个特点如何,以及其他的关键字,内部类……请听下回分解,觉得有兴趣的话可以关注我,不定时更新Java干货