面向对象的三大特征:
在面向对象定义之中,也规定了一些基本的特征:
封装 (Encapsulation): 指将对象的实现细节隐藏起来,然后通过公共的方法向外暴露该对象的功能
继承 (Inheritance): 面向对象实现软件复用的重要手段,当子类继承父类后,子类是一种特殊的父类,能直接或间接获得父类里的成员;
多态 (Polymorphism): 可以直接把子类对象赋给父类变量,但是运行时依然表现出子类的行为特征,这意味着同一类型的对象在运行时可能表现出不同的行为特征
对于面向对象的开发来讲也分为三个过程:
OOA(面向对象分析)
OOD(面向对象设计)
OOP(面向对象编程)
类与对象
一个类是对一类对象的描述,是构造对象的模板,对象是类的具体实例;
类如同建造大楼的设计图纸,对象(实例)就如同建造出的大楼,使用同一个设计图纸可以建造出很多大楼。
类(引用数据类型)是对具有共性事物的抽象描述,是具有共同操作功能(方法)和相同数据格式(属性)的对象的集合与抽象
类= 属性+ 方法(属性来源于类的状态,方法来源于类的动作)
类的定义:
类的修饰符 class 类名 extends 父类名 implements 接口名{
类体:属性和方法组成
}
类的修饰符有哪些?
类的修饰符分为:可访问控制符和非访问控制符两种。
不加修饰的时候,即直接声明 class A {}
在这种情况下,class前面没有加任何的访问修饰符,通常称为"默认访问模式",在该模式下,这个类只能被同一个package中的类访问或引用,这一访问特性又被称包访问性。
可访问控制符是:公共类修饰符public
(可被所有的其他类或其他包中的类访问和引用,程序的其他部分可以创建这个类的对象,访问这个类内部公共的(用可访问控制符public 定义的)变量和方法)
1.一个java 的源文件中,规定最多只能有一个public 类,当然也可以一个都没有。
2.如果有public公共类,则规定文件名只能public公共类的类名称一致,如果没有,则文件名随意;
3.作为一个java程序的入口的类必须为public类;
哪些类应定义为公共类呢?
1.Java程序的主类必须定义为public类;
2.作为公共工具供其他类和程序使用的类应定义为public类;
非访问控制符是:抽象类修饰符abstarct
凡是用修饰符abstract 修饰的类,被称为抽象类。接口是一个100% 的抽象类;
最终类修饰符:final
当一个类不可能有子类时(final类是不可以被继承的)可以用修饰符 final把它说明为最终类
被定义为 final类通常是一些有固定作用、用来完成某种标准功能的类。如Java系统定义好的用来实现网络功能的InetAddress、Socket等类都是 final类。
注意:修饰符abstract和修饰符final 不能同时修饰同一个类,
因为abstract类是没有具体对象的类,它必须有子类,即就是是用来被继承的;
而 final类是不可能有子类的类,所以用abstract和final修饰同一个类是无意义的。
对象的创建和使用
类名 实例名 = new <类名> (参数列表)
java 中所有new 出来的东西统一都会在heap中开辟空间存储
一个类可以包含以下类型变量:
- 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
- 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
- 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
一个类可以创建N个对象,成员变量只属于当前对象(只属于对象,不属于类)。
只有通过对象才可以访问成员变量,通过类不可以直接访问成员变量。
原文地址:https://www.cnblogs.com/ppp1314520818/p/10803315.html