c语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。
Java是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。
面向过程注重的是过程,就像我们用手洗衣服,我们需要先用盆接水,然后放入衣服,然后放入洗衣粉,然后用手搓,然后拧干晒起来。
面向对象注重的是对象,就像我们用洗衣机洗衣服,只要把衣服和洗衣服放入洗衣机,然后晒干就可以了,不用去管洗衣机是如何去洗衣服的。
类就是一类对象的统称。对象就是这一类具体化的一个实例。
类相当于一个模板,对象是由模板产生的样本。一个类,可以产生无数的对象。
声明一个类就是创建一个新的数据类型,而类在Java中属于引用类型,Java使用关键字class来声明类。我们来看以下简单的声明一个类。
基本语法
//创建类
class <class_name>{
field; // 成员属性
method; // 成员方法
}
//实例化对象
<class_name> <对象名> = new <class_name>();
class为定义类的关键字,ClassName
为类的名字,{}中为类的主体。
类中的元素称为:成员属性。类中的函数称为:成员方法。
示例:
class Person{
public int age; // 成员属性 实例变量
public String name;
public String sex;
public void eat(){
//成员方法
System.out.println("吃饭!");
}
public void sleep(){
System.out.println("睡觉!");
}
}
注意事项
和之前写的方法不同,此处写的方法不带static关键字,我们我们会详细解释static是干什么的。
类的实例化
用类类型创建对象的过程,称为类的实例化
class Person{
public int age; // 成员属性 实例变量
public String name;
public String sex;
public void eat(){
//成员方法
System.out.println("吃饭!");
}
public void sleep(){
System.out.println("睡觉!");
}
}
public class DemoTest {
public static void main(String[] args) {
Person person = new Person(); // 通过new实例化对象
Person.eat(); // 成员方法调用需要通过对象的引用调用
Person.sleep();
// 产生对象 实例化对象
Person person2 = new Person();
Person person3 = new Person();
}
}
输出结果为:
吃饭!
睡觉!
注意事项
new关键字用于创建一个对象的实例。
使用.
来访问对象中的属性和方法。
同一个类可以创建多个实例。
类的成员包含以下:字段、方法、代码块、内部类和接口等。
此处我们重点介绍前三个。
在类中,但是方法外部定义的变量。这样的变量我们称为"字段"或"属性"或"成员变量"(三种称呼都可以,一般不会严格区分),用于描述一个类中包含哪些数据。
class Person{
public String name; // 字段
public int age;
}
public class TestDemo {
public static void main(String[] args) {
Person person=new Person();
System.out.println(person.name);
System.out.println(person.age);
}
}
//执行结果
null
0
注意事项
.
访问对象的字段。默认值规则
对于各种数字类型,默认值为0。
对于boolean
类型,默认值为false
。
对于引用类型(String,Array,以及自定制类),默认值为null.
Person person = null;
//这个引用不指向任何的对象
Person person = new Person();
Person person2=person;
//person2这个引用指向person这个引用所指向的对象
Person person = new Person