本文实例讲述了Java面向对象程序设计:类的定义,静态变量,成员变量,构造函数,封装与私有,this概念与用法。分享给大家供大家参考,具体如下:
本文内容
- 什么是面对对象
- 类的定义与对象实例化
- 成员变量
- 成员变量的有效范围
- 成员变量的赋值
- 静态变量、方法与实例变量、方法
- 构造函数
- 封装与私有
- this关键字
什么是面对对象
- 面向对象强调行为处于对象之中,并不直接执行行为,而是通过对象执行行为
- 类是对象的抽象,对象是类的具体实例。 【可以说,人是一个类,而不同身份的你我他是一个具体实例。人这个类抽象出了我们人类共有的属性,而我们人是人类的各种属性的具体实例结果。】
- 面向对象的基本特征:封装,继承,多态
- 封装:比如一个对象把它的属性和方法都封装起来的话,它执行的属性和方法都是这个对象的,而不是其他对象的。
- 继承:子类可以继承父类的属性和方法。比如“人类”继承了“哺乳类”的属性和方法,又增添人类独有的属性和方法。
- 多态:一种多态是指同一个操作被不同对象执行时有不同的结果(比如:狗的say是“汪汪汪”,而猫的是"喵喵喵");另一种多态是根据对象的传入而决定执行不同的方法。【本质上这两个是一样的】
类的定义与对象实例化
类的定义
-
类的定义包括两部分:类声明和类体
-
类是java程序的基本要素
-
定义类的格式:
- 修饰符可以是public 或空: public代表即使不同包也能访问该类;而空代表只能该类只能在同一个包内访问。
- 类体的内容包括变量的生命和方法的定义。【所以单独的定义是错误的,只能声明并同时定义】
对象实例化
- 类的实例化就是创建一个对象:
- 创建对象:类名 变量名 =new 类名()【类名()可以传入一些参数来初始化对象,由类的同名方法(构造方法,下面讲)定义能传入什么参数】
-
匿名对象:简单来说就是没有变量名的实例化,直接使用new 类名()来执行操作,由于没有变量名来特异的标记一片内存空间,所以匿名对象一般只使用一次,比如new Dog().hello();
- 调用方法或变量:对于实例方法或变量的可以直接使用对象来调用;而对于静态方法或变量,既可以使用对象,也可以使用类来调用。
- 创建对象:类名 变量名 =new 类名()【类名()可以传入一些参数来初始化对象,由类的同名方法(构造方法,下面讲)定义能传入什么参数】
class Dog{
String name;
int foot=4;
Dog(){
//这是一个构造函数
this.name="旺财";
}
void hello() {
System.out.println("hello,this is a dog");
}
static void static_hello() {
System.out