首页 > 代码库 > Java面向对象-对象和类概述

Java面向对象-对象和类概述

java语言提供了定义类、成员变量、方法等基本功能。

类可以认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类来定义的变量都是引用变量,它们都会引用到类的对象。

 

java面向对象的三大特征:封装、继承、多态。

封装:提供了private、protected和public三个访问修饰符来实现

继承:extends关键字让子类继承父类

多态:父类引用指向子类对象,使用继承关系来实现复用时,子类对象可以直接赋给父类变量,这个变量具有多态性,编程更加灵活。(百度搜:花木兰替父从军引例)

 

类和对象:

类是某一批对象的抽象,可以把类理解为某种概念;

对象才是一个具体存在的实体。

 

类中三种常见的成员:构造器、成员变量、方法。

static修饰的成员表明它属于这个类本身,而不属于该类的单个实例,因此通常把static修饰的成员变量和方法称为类变量、类方法。不使用static修饰的普通方法、成员变量则属于该类的单个实例。static修饰的方法中不能使用this引用(static直接访问,无需创建对象),所以static修饰的方法不能访问不使用static修饰的普通成员,即static修饰的成员不能访问没有static修饰的成员。(大部分资料将static称为静态,这种说法很模糊,完全无法说明static的真正作用)

 

成员变量Tips:成员变量由英文单词field意译而来,早期有些书籍将成员变量称为属性。但实际上在java世界里属性(由property翻译而来)指的是一组setter方法和getter方法。比如说某个类有age属性,意味着该类包含getAge()和setAge()两个方法,另外有些资料、书籍将field翻译为字段、域。

参数列表:一旦在定义方法时指定了形参列表,则调用该方法时必须传入对应的参数值——谁调用方法,谁负责为形参赋值。

显示定义构造函数的意义:构造函数可以包含参数,构造函数包含的参数给调用者提出要求:这些参数,是创建这个类必须要用的。这比直接在初始化的时候赋值更灵活,也更规范。(比如小孩生下来有没有名字,是男是女是不确定的,但可以肯定的是小孩子出生时都会哭,此时哭就是创建这个类必须要用的)Java语言都过new关键字来调用构造器,从而返回该类的实例。如果一个类没有构造器,这个类通常无法创建实例(系统可以默认提供一个构造器)。static修饰的方法和变量,既可以通过类来调用,也可以通过实例来调用。

 

定义类之后,使用时,java的类大致由如下作用:

   --定义变量

   --创建对象

   --调用类的方法或访问类的类变量

Java面向对象-对象和类概述