Constructor构造方法
我们写一个car类,并写一个无参构造方法。
public class Car {
int speed;
//构造方法名字和 类一致 区分大小写 不需要写返回值 和参数列表
public Car(){
System.out.println("给我造一辆GTR!");
}
}
我们来创建一个对象car
public class TestConstructor { /**
* new关键字调用
* 构造方法有返回值是个地址 不需要我们定义 也不需要return
* 如果我们没有定义构造方法 系统会自动定义一个无参构造方法
* 构造方法名 必须和 类名一致 区分大小写
* 构造该类的对象 也经常用来初始化 对象的属性 见 Point 那个构造方法
*/
public static void main(String[] args) {
Car c = new Car(); } }
构造该类的对象 也经常用来初始化 对象的属性 我们来看一下代码。
public class Point {
double x,y,z; public Point(double _x,double _y,double _z){
x=_x;
y=_y;
z=_z; } public void setX(double _x){
x=_x;
}
public void setY(double _y){
y=_y;
}
public void setZ(double _z){
z=_z;
} //点到点的距离 方法
public double distance(Point p){
//Math.sqrt(); 是开方函数
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y) +(z-p.z)*(z-p.z));
}
当然当我们学了this,上面的代码就写成下面的样子。因为this指向对象本身,这样就没有歧义。
public class Point {
double x,y,z; public Point(double x,double y,double z){
this.x=x;
this.y=y;
this.z=z; } public void setX(double x){
this.x=x;
}
public void setY(double y){
this.y=y;
}
public void setZ(double z){
this.z=z;
} //点到点的距离 方法
public double distance(Point p){
//Math.sqrt(); 是开方函数
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y) +(z-p.z)*(z-p.z));
}
写个main方法,看下效果。
public static void main(String[]args){
Point p = new Point(,,);
Point p2 = new Point(,,);
System.out.println(p.x);
System.out.println(p.y);
System.out.println(p.z);
System.out.println(p2.x);
System.out.println(p2.y);
System.out.println(p2.z);
System.out.println(p.distance(p2)); p.setX();
p.setY();
p.setZ();
System.out.println(p.x);
System.out.println(p.y);
System.out.println(p.z); //p点到p2点的距离
System.out.println(p.distance(p2));
}
}
控制台打印
3.0
4.0
8.0
3.0
5.0
8.0
1.0 3.0
5.0
8.0
0.0
构造器不能被继承 只能被调用 所以不存在overwrite 但可以overload
Constructor构造方法的更多相关文章
- Class对象、反射机制、获取Constructor构造方法
1.Class对象的三种创建方法(Class首字母大写) public class Demo { public static void main(String[] args){ Object obj= ...
- react中constructor()和super()的具体含义以及如何使用
1.constructor()---super( )的基本含义 constructor()--构造方法 这是ES6对类的默认方法,通过new命令生成对象实例时自动调用该方法.并且,该方法是类中必须有的 ...
- NiXi.DAY06东软实训.:面向对象思想~抽象~static~final~构造方法及其重载
本章技能目标: 使用类图描述设计 掌握面向对象设计的基本步骤 掌握类和对象的概念 掌握构造方法及其重载 掌握封装的概念及其使用 本章单词: class:类 object:对象 static: fina ...
- springboot - Constructor、@Autowired、@PostConstruct分析
1.Constructor 构造方法 2.@Autowired 依赖注入 3.@PostConstruct 在依赖注入完成后被自动调用 4. 三者的顺序: 从依赖注入的字面意思就可以知道,要将对象p注 ...
- react中constructor和super()以及super(props)的区别。
react中这两个API出镜率超级高,但是一直不太懂这到底是干嘛的,有什么用:今天整理一下,方便自己查看同时方便大家. 1.constructor( )-----super( )的基本含义 const ...
- Java学习之反射机制及应用场景
前言: 最近公司正在进行业务组件化进程,其中的路由实现用到了Java的反射机制,既然用到了就想着好好学习总结一下,其实无论是之前的EventBus 2.x版本还是Retrofit.早期的View注解框 ...
- 0031 Java学习笔记-梁勇著《Java语言程序设计-基础篇 第十版》英语单词
第01章 计算机.程序和Java概述 CPU(Central Processing Unit) * 中央处理器 Control Unit * 控制单元 arithmetic/logic unit /ə ...
- java中的注解(Annotation)
转载:https://segmentfault.com/a/1190000007623013 简介 注解,java中提供了一种原程序中的元素关联任何信息.任何元素的途径的途径和方法. 注解是那些插入到 ...
- Java基础常见英语词汇
Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的 ['prəʊɡræmɪŋ]编程 OO: object ...
随机推荐
- for循环.html
<script> for (var i = 1; i < 5 ; i++) { alert(i); } 公式需要记住,并多加练习,加深记忆,注意编写格式 for (var i = 1 ...
- RISC与CISCCPU构架
RISC 精简指令集 CISC复杂指令集 CISC架构的代表: x86, C51 RISC架构的代码:arm, mips,powerpc, avr, pic 指令集的区别 首先从字面上理解就能知道, ...
- 互斥锁,IPC队列
进程同步(锁) 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,part1:共享同一打印终端,发现会有多行内容打印到一行的现象(多个进程共享并抢占同一个 ...
- Hadoop2.6.5集群搭建
一. Hadoop的分布式模型 Hadoop通常有三种运行模式:本地(独立)模式.伪分布式(Pseudo-distributed)模式和完全分布式(Fully distributed)模式.安装完成后 ...
- alias with parameter,linux
alias demoAlias1='_(){ git checkout -b $1; command2;}; _'
- (转)CSS3:nth-child()伪类选择器,奇偶数行自定义样式first-child
原文地址 Table表格奇偶数行定义样式: CSS3的强大,让人惊叹,人们在惊喜之余,又不得不为其艰难的道路感到可惜:好的标准只有得到行业浏览器的良好支持才算得上“标准”.CSS3标 准已提出数年,但 ...
- windows python读取grib2数据
一.环境准备 (1).python3环境 (2).wgirb工具(用于读取grib1文件),下载地址: ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib (3).wg ...
- 错误代码: 1231 - Variable 'sql_mode' can't be set to the value of 'NULL'
错误代码: 1231 - Variable 'sql_mode' can't be set to the value of 'NULL' 错误代码: - Variable 'sql_mode' can ...
- Android 开发第三步-问题解析
因为这个问题,困扰了好久 最后找到了最根本的问题,当时是因为没有R.java为什么没有? 是因为布局出现了错误,在一篇百度经验中找到了怎样解决 https://jingyan.baidu.com/ar ...
- 图像识别___YUV学习手记
视觉专家很早以前就知道,人眼对亮度分辨率的敏感度高于对色彩分辨率的敏感度. 这就是早期模拟和数字压缩形式的主要动因.视频信号会分解为亮度和色度,这两个是组成色彩的元素,这类似于图像可以分解为红.绿.蓝 ...