java面向对象建立一个类 属性_JAVA面向对象编程(类和对象)学习笔记

类和对象

在JAVA语言中常常被提到的两个词是类与对象,实质上能够将类看做是对象的载体,它定义了对象所具备的功能。

一、了解面向对象编程思想

二、掌握如何定义类

三、掌握类的成员变量、成员方法

四、掌握修饰权限

五、掌握局部变量及其做用范围

六、掌握this 、static关键字

七、掌握构造方法以及经过构造方法建立对象

八、掌握类的主方法以及如何运行带参数的JAVA程序

九、掌握使用对象获取对象的属性和方法

十、掌握对象的建立、比较和销毁web

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

一、了解面向对象编程思想

现实世界中,随处可见的事物就是对象。对象就是存在的实体,人类、桌子、猫、狗等。

在计算机世界里,面对对象的编程思想是要以对象来思考问题,首先要将现实世界中的实体抽象为对象,而后考虑这个对象的属性和行为。例如一只大雁将要从北方飞往南方这个实际问题,那么用面对对象的思想如何解决这个问题?步骤以下:

(1)、首先从问题中抽象出对象,这里显然是这一只大雁。

(2)、而后识别这个对象具备的属性。对象具备的属性都是静态属性,如大雁有一对翅膀等。

(3)、接着识别这个对象的动态行为,即这只大雁能够进行的行动,好比进食,飞翔,游泳等,这些行为都是这个对象基于其属性而具备的动做。

(4)、识别出这个对象的属性和行为以后,这个对象就被定义完成了,而后就能够根据这只大雁具备的特性制定这只大雁从北方飞往南方的具体方案去解决问题。

究其本质,全部的大雁都具备以上的属性和行为,能够将这些属性和行为封装起来以描述大雁这类动物。因而可知,类的本质就是封装对象属性和行为的载体,而对象是类抽象出来的一个实例。编程

面向对象程序设计具备如下特性:封装性、继承性、多态性

封装性、继承性将在后面详细讲到数组

二、掌握如何定义类

类就是同一类事物的统称,若是将现实世界里的一个事物抽象成对象,类就是这类对象的统称。

类是构造对象时所依赖的规范。以前说对象就是符合某个类的定义所产生出来的实例,其实更为恰当来讲:类是世间事物的抽象称呼,而对象则是这个事物所对应的实体。

当面对实际问题时,一般须要实例化类的对象来解决。

类是封装对象的属性和行为的载体,反过来讲具备相同属性和行为的一类实体被称为类。定义完类以后,能够根据这个类抽象出一个实体对象来解决相关实际问题。

在Java语言中,类中对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的,而类包括对象的属性和方法。svg

三、掌握类的成员变量、成员方法

成员变量是指类的一些属性定义,标志类的静态特征,它的基本格式以下:

访问修饰符 修饰符 类型 属性名称=初始值;学习

访问修饰符:可使用四种不一样的访问修饰符中的一种,包括public(公共的)、protected(受保护的),无修饰符和 private(私有的)。public 访问修饰符表示属性能够从任何其它代码调用。private 表示属性只能够由该类中的其它方法来调用。protected 将在之后的课程中讨论。

修饰符:是对属性特性的描述,例如后面会学习到的:static、final 等等。类型:属性的数据类型,能够是任意的类型。

属性名称:任何合法标识符

属性名称:任何合法标识符

成员方法就是对象所具备的动态功能。Java 类中方法的声明采用如下格式:

访问修饰符 修饰符 返回值类型 方法名称 (参数列表) throws 异常列表 {方法体}this

访问修饰符 : 可使用四种不一样的访问修饰符中的一种,包括public、 protected、无修饰符和 private。public 访问修饰符表示方法能够从任何其它代码调用。private表示方法只能够由该类中的其它方法来调用。protected 将在之后的课程中讨论。

修饰符:是对方法特性的描述,例如后面会学习到的:static、final、abstract、synchronized 等等。

返回值类型:表示方法返回值的类型。若是方法不返回任何值,它必须声明为 void(空)。Java 技术对返回值是很严格的,例如,若是声明某方法返回一个int值,那么方法必须从全部可能的返回路径中返回一个int值(只能在等待返回该 int 值的上下文中被调用。)

方法名称:能够是任何合法标识符,并带有用已经使用的名称为基础的某些限制条件。

参数列表:容许将参数值传递到方法中。列举的元素由逗号分开,而每个元素包含一个类型和一个标识符。在下面的方法中只有一个形式参数,用 int 类型和标识符 days 来声明:

public void test(int days){}

throws 异常列表:子句致使一个运行时错误(异常)被报告到调用的方法中,以便以合适的方式处理它。异常在后面的课程中介绍。

花括号内是方法体,即方法的具体语句序列。

注意:在成员方法里能够调用其余成员方法和类成员变量,同时也能够在成员方法中定义一个变量,成为局部变量

四、掌握修饰权限设计

private protected public

本类 可见 可见 可见

同包其余类或子类 不可见 可见 可见

其余包的类或子类 不可见 不可见 可见

当声明类时不使用public protected private 修饰符修饰类时,默认这个类预存为包存取范围,也就是说只有一个包中的类能够调用这个类的成员变量和成员方法。code

五、掌握局部变量及其做用范围

局部变量是在方法被执行时建立,方法执行结束时被销毁。局部变量在使用时必须进行赋值操做或者被初始化,不然会出现编译错误。xml

六、掌握this 、static关键字

在JAVA语言中规定使用this关键字来表明本类对象的引用,this 关键字被隐式地用于引用对象的成员变量和方法。

this能够调用成员变量和成员方法,但事实上Java语言中最经常使用的调用方式是使用对象.成员变量或者对象.成员方法进行调用。那关键字this 与对象之间有什么关系哪?

实际上this引用的就是本类的一个对象。在局部变量或者方法参数覆盖了成员变量时,就要添加this关键字明确引用的是类成员变量仍是局部变量或者方法参数,this除了能够调用成员变量或成员方法外,还能够做为方法的返回值将类的对象进行返回对象

七、掌握构造方法以及经过构造方法建立对象

构造方法是一个与类同名的方法,对象的建立就是经过构造方法来实现的。每当类实例化一个对象时。类都会自动调用构造方法。

构造方法特色以下:

(1)、构造方法没有返回值

(2)、构造方法的名称要与本类的名称相同

在构造方法中能够为成员变量赋值,这样当实例化一个本类的对象的时候,相应的成员变量也被初始化。

若是类中没有明肯定义构造方法 ,编译器会自动建立一个不带参数的默认构造方法。

事实上,this还能够调用类中的构造方法

可是这种方式须要注意的是只能够在无参构造方法中的第一句使用this调用有参构造方法。

八、掌握类的主方法以及如何运行带参数的JAVA程序

主方法是类的入口点,它定义了程序从何处开始:主方法提供对程序流向的控制,Java编译器经过主方法来执行程序。

主方法的特性:

(1)、主方法是静态的,因此如要在主方法中直接调用其余方法,则该方法也必须是静态的

(2)、主方法没有返回值

(3)、主方法的形参为数组,其中args[0]-args[n]分别表明程序的第一个参数到第n个参数,可使用args.length 获取参数的个数

九、掌握使用对象获取对象的属性和方法

new一个对象以后就可使用对象.成员变量 对象.成员方法来获取。因此当对象获取类成员时,相应的获取了对象的行为和属性。

若是但愿成员变量不被任何一个对象改变,就可使用static 关键字来修饰成员变量

十、掌握对象的建立、比较和销毁

在Java语言中使用new 操做符来建立对象。准确的说,能够在Java语言中使用new 操做符调用构造方法来建立对象

对象被建立出来时,就是一个对象的引用,这个引用在内存中为对象分配了存储空间,以前说过,能够在构造方法中初始化成员变量,当建立对象时,自动调用构造方法,也就是说,Java语言中初始化与建立时捆绑在一块儿的。,每一个对象都是独立的,在内存中占据不一样的内存地址,每一个对象都有本身的生命周期,当一个对象的生命周期结束时,对象就变成了垃圾,由Java虚拟机自带的垃圾处理机制处理,不能再被使用。

对象的比较: Java语言中有两种对象的比较方式,分别为== 运算符和equals()方法,这两种方法有着本质的区别

equals ()方法是String类中的方法,它用于比较两个对象引用的所指内容是否相同

而 ”==“运算符比较的是两个引用的地址是否相同

对象的销毁首先来来了解一下何种对象会被Java虚拟机认定为垃圾:

(1)、对象引用超过其做用范围

(2)、将对象赋值为null

垃圾回收机制虽然已经很完善了,但只能回收经过new操做符建立的对象,对于那些不是经过new 操做符建立的对象,能够经过finalize()方法。这个方法是Object类的方法,它被声明为protected,用户能够在本身的类中定义这个方法,若是用户定义了这个方法,垃圾回收时会优先使用这个方法,在下一次垃圾回收动做发生时,才能真正回收被对象真用的内存。若是Java虚拟机内存损耗殆尽时是不会进行垃圾回收的

因为垃圾回收不受人为控制,具体执行时间也不肯定,因此finalize()方法也就没法被执行,因此Java提供了System.gc()方法强制启动垃圾回收器。

手打不易,感谢指正!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值