初学者第22节之面向Java对象和类、构造方法以及调用非构造方法

15人阅读 评论(0) 收藏 举报
分类:

公告通知

本公众号纯属个人公益公众号!只求能帮助到各位java初学者,公众号有一系列免费资源领取,供广大java初学者自学!也有微信交流群供大家学习讨论!!!大家可以多多关注!!!也可以对我们的文章可以多多留言,留下您的宝贵意见!!!


面向对象支持以下基本概念:

多态,继承,封装,抽象,类,对象,实例,方法,重载

本节我们重点研究对象和类的概念。

对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个   对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

类:类是一个模板,它描述一类对象的行为和状态。


Java中的对象

现在让我们深入了解什么是对象。看看周围真实的世界,会发现身边有很多对象,车,狗,人等等。所有这些对象都有自己的状态和行为。

拿一条狗来举例,它的状态有:名字、品种、颜色,行为有:叫、摇尾巴和跑。

对比现实对象和软件对象,它们之间十分相似。软件对象也有状态和行为。软件对象的状态就是属性,行为通过方法体现。在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。


Java中的类

类可以看成是创建Java对象的模板。

通过下面一个简单的类来理解下Java中类的定义:


一个类可以包含以下类型变量:

局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

成员变量(属性):成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。

一个类可以拥有多个方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog类的方法。 


构造方法

当一个对象被创建时候,构造方法用来初始化该对象。构造方法和它所在类的名字相同,但构造方法没有返回值。通常会使用构造方法给一个类的实例变量赋初值,或者执行其它必要的步骤来创建一个完整的对象。 不管你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个默认无参构造方法,它把所有成员初始化为适当的默认值。一旦你定义了自己的构造方法,默认构造方法就会失效。 

在强调一遍:每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

下面是一个构造方法示例:



创建对象

对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:

声明:声明一个对象,包括对象名称和对象类型。

实例化:使用关键字new来创建一个对象。

初始化:使用new创建对象时,会调用构造方法初始化对象。

下面是一个创建对象的例子:(这里使用了重载,下一节讲会讲到)

使用对象来调用方法

通过已创建的对象来访问成员变量和成员方法,如下所示:

作业:

定义一个圆形类Circle
属性:
半径 radius 数据类型为:double

构造方法:
 Circle(double r)

方法:
求周长:public double findPerimeter()
求面积:public double findArea()

定义一个测试类TestCircle
在测试类的主方法中创建两个Circle对象c1,c2,
其中
c1的半径为2.5
c2的半径为10
分别输出c1和c2各自的周长和面积。

答案在公众号里面输入“对象和类作业”


    扫码关注 ∣有捣乱者绕道


长按,识别二维码,加关注

注:本公众号纯属个人公益公众号!

不存在任何培训机构招生信息!!


查看评论

java-面向对象编程-说说构造方法

我们在上一章中说到类与对象这个知识点,其中提到new一个对象的格式为://装逼模式 ClassName InstanceName =new ClassName(); //类名 对象名 =new 类的...
  • dengminghli
  • dengminghli
  • 2017-01-07 15:13:17
  • 1476

Java中对象创建和构造方运行顺序?

Java中new对象的时候与构造方法运行的先后顺序,调用构造方法时对象是否产生了?可以用一个例子来说明吗?它在内存的具体分配。 调用构造方法时对象是否产生了? 能否具体说明一下 即:new ...
  • qq_16769857
  • qq_16769857
  • 2015-08-29 16:57:42
  • 607

Java中类的构造方法

constructor;构造函数。在创建对象的时候,对象成员可以由构造函数方法进行初始化。new对象时,都是用构造方法进行实例化的; 例如;Test test = new Test("a"); //...
  • zw1996
  • zw1996
  • 2016-10-20 23:17:50
  • 21414

子类继承父类时,创建对象,构造方法的调用问题

在学习继承的时候,遇到一些小问题,这里总结一下,有错误望指正: 先来看一段代码: //标准父类 class Father{ //成员变量 private String name; ...
  • qq_20085465
  • qq_20085465
  • 2017-11-03 21:05:00
  • 707

构造器中可要调用本类的方法,但要调用的非static方法必须声明为private或final

在Java程序中,我们是可以在构造方法中调用本类的方法和成员变量的,但是要注意一点,当我们需要调用一个非static的方法时,该方法不应该可以被子类覆盖,应该用final修饰或将其变成private,...
  • L_BestCoder
  • L_BestCoder
  • 2017-07-28 22:16:44
  • 258

常见对象_String类的构造方法

package cn.itcast_01; /* * 字符串:就是由多个字符给组成的一串数据。也可以看成是一个字符数串。 * 通过查看API,我们可以知道 * A:字符串字面值"abc"...
  • L1585931143
  • L1585931143
  • 2016-11-05 23:17:52
  • 611

java类的构造方法可以直接调用该类中已有的方法。

实例代码如下: 其中构造方法中的调用替换掉原注释的部分。 package test; /**  * @author : suyuyuan * @date :2016年6月22日 下午2:46...
  • suyu_yuan
  • suyu_yuan
  • 2016-06-22 14:54:21
  • 4000

常见对象_Integer的构造方法

package cn.itcast_02; /* * Integer的构造方法: * public Integer(int value) * public Integer(String...
  • L1585931143
  • L1585931143
  • 2016-11-22 22:07:37
  • 621

你可曾注意到类的构造方法中用this调用另外一个构造方法

public class Test{ private int x; private String s; public Test(int x) { this.x ...
  • qq1623267754
  • qq1623267754
  • 2014-05-06 16:39:55
  • 1945

常见对象_Scanner的概述和构造方法原理

package cn.itcast_01; /* * Scanner:用于接收键盘录入数据。 * * 前面的时候: * A:导包 * B:创建对象 * C:调用方法 * ...
  • L1585931143
  • L1585931143
  • 2016-11-04 22:56:23
  • 618
    个人资料
    持之以恒
    等级:
    访问量: 2062
    积分: 476
    排名: 10万+
    文章存档
    最新评论