面向对象编程(五)——构造方法
构造器
构造器,又称构造方法(constructor). 构造器用于构造该类的实例(对象)。
格式如下:
构造方法是一种特殊的方法:
①通过new关键字调用!
②构造器虽然有返回值,但不能定义返回类型(返回值类型肯定是本类),不能在构造器里调用return。
③如果我们没有定义构造器,则系统会自动定义一个无参的构造函数。如果已定义,则编译器不会添加无参的构造器。
④构造器的方法名必须和类名一致。
⑤作用:构造该类的对象,经常也用来初始化对象的属性。
【例子1】
定义一个“点”(point)类来表示三维空间中的点(有三个坐标)。要求如下:
①可以生成具有特定坐标的点对象;
②提供可以设置三个坐标的方法;
③提供可以计算该“点”距离平方的方法。
![](/assets/blank.gif)
![](/assets/blank.gif)
1 public class Point { 2 double x,y,z; 3 4 //构造方法与类名相同 5 //通过构造方法初始化对象的属性 6 public Point(double _x,double _y,double _z){ 7 x = _x; 8 y = _y; 9 z = _z; 10 } 11 12 public void setX(double _x){ 13 x=_x; 14 } 15 16 public void setY(double _y){ 17 y=_y; 18 } 19 20 public void setZ(double _z){ 21 z=_z; 22 } 23 24 public double distance(Point p) { 25 double result= Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)+(z-p.z)*(z-p.z));//java.lang.Math.sqrt(double a) 返回正确舍入的一个double值的正平方根 26 return result; 27 } 28 29 public static void main(String[] args) { 30 //如果我们没有定义构造器,则系统会自动定义一个无参的构造函数。如果已定义,则编译器不会添加无参的构造器。 31 // Point p=new Point();//如果此处这样写,会报红。 32 Point p=new Point(2, 4, 2); 33 System.out.println(p.x); 34 35 Point p2=new Point(240,40,80); 36 System.out.println(p.distance(p2)); 37 38 39 } 40 }
View Code
运行结果:
2.0 253.02964253225352
转载于:https://www.cnblogs.com/Qian123/p/5167528.html
面向对象编程(五)——构造方法相关推荐
- c语言面向对象编程显示,c语言面向对象编程
场景:C语言面向对象编程(6):配置文件解析 C语言面向对象编程(六):配置文件解析 在实际项目中,经常会把软件的某些选项写入配置文件. Windows 平台上的 INI 文件格式简单易用,本篇文章利 ...
- 列表怎么有限的初始化为零_《零基础学习Android开发》第五课 类与面向对象编程1-1...
视频:<零基础学习Android开发>第五课 类与面向对象编程1-1 类的定义.成员变量.构造方法.成员方法 一.从数据与逻辑相互关系审视代码 通过前面的课程,我们不断接触Java语言的知 ...
- 《Kotlin 程序设计》第五章 Kotlin 面向对象编程(OOP)
第五章 Kotlin 面向对象编程(OOP) 正式上架:<Kotlin极简教程>Official on shelves: Kotlin Programming minimalist tut ...
- Dave Python 练习十五 -- 面向对象编程
#encoding=utf-8 ### *************** 面向对象编程 ******************** #*********** Part 1: 面向对象编程 ******** ...
- CoreJava学习第五课 --- 进入第二阶段:面向对象编程思想
面向对象编程思想 1.面向过程 从计算机执行角度出发 ,代码执行过程核心为从程序的运行过程出发,构建编程思路,例: 哥德巴赫猜想 // 面向过程1 用户输入一个数n2 验证数字的正确性2.1 正确 ...
- python学习--关注容易被忽略的知识点--(五)面向对象编程
本系列文章回顾了 python大部分关键的知识点,关注那些容易被忽略的知识点.适用于有一定python基础的python学习者. 本系列文章主要参考廖雪峰的python学习网站.该学习网站内容全面,通 ...
- python快速入门【五】---- 面向对象编程、python类
python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...
- Python基础学习——面向对象编程(第一讲:面向对象概述、面向对象三个基本特征(封装性、继承性、多态性)、类和对象(定义类、创建和使用对象、实例变量、类变量、构造方法、实例方法、类方法、静态方法))
面向对象是Python最重要的特性,在Python中一切数据类型都是面向对象的. 1.面向对象概述 面向对象的编程思想是,按照真实世界客观事物的自然规律进行分析,客观世界中存在什么样的实体,构建软件系 ...
- C# 面向对象编程(杂2),类中可能出现的成分,字段,属性,方法,自动属性,权限(五种),其他类,值传递和引用传递,类ToString的问题
C# 面向对象编程(杂2),类中可能出现的成分 1. 字段,属性,方法,自动属性 class Person1 {//字段private string _name;//字段对应的属性public str ...
- Python基础十五:面向对象编程四:高级特性
Python基础十五:面向对象编程四:高级特性 Python基础系列内容为学习廖雪峰老师Python3教程的记录,廖雪峰老师官网地址:廖雪峰Python3教程 Author:yooongchun Em ...
最新文章
- 盛大游戏卷入“沙巴克”商标之争
- 公有云还能信任吗?Azure遭雷击中断超过一天
- 《那些年啊,那些事——一个程序员的奋斗史》——117
- CMake 与 Finder
- 利用TcpClient TcpListener 实现发送图片
- php enable all,php中的enable_dl配置如何有用?
- JavaWeb 入门篇(1)Maven创建Web项目 Idea配置tomcat
- idea 拉取分支代码
- mes系统服务器要求,mes系统 服务器配置
- 今天的弹指一瞬间的飞鸽传书
- 支付宝、微信收款码明年3月1日起将禁止商用?系误读!
- Python XML解析器– ElementTree
- Java的GUI学习十一(编程菜单)
- Qpython实现命令行的贪吃蛇
- c语言汉字属于什么类型_C语言为什么需要定义数据类型
- 病毒分析 - 特征码提取
- 1.6-程序员必须要会“英语”吗?(会英语在编程中的优势)
- 现在你可以通过深度学习用别人的声音来说话了
- Eigen零零散散的一些总结
- 少年你骨骼精奇?AI现在可以帮你看一看了