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 ...
随机推荐
- IIS 修改并发连接数
http://www.cnblogs.com/dudumao/p/4078687.html
- samba安装
第一步下载: wget https://download.samba.org/pub/samba/stable/samba-4.6.7.tar.gz 看了下没看到啥有用的直接安装: ./configu ...
- CS229 6.8 Neurons Networks implements of PCA ZCA and whitening
PCA 给定一组二维数据,每列十一组样本,共45个样本点 -6.7644914e-01 -6.3089308e-01 -4.8915202e-01 ... -4.4722050e-01 -7.4 ...
- 编码,基本数据类型,str索引和切片,for循环
1. 编码 1. 最早的计算机编码是ASCII. 美国人创建的. 包含了英文字母(大写字母, 小写字母). 数字, 标点等特殊字符!@#$% 128个码位 2**7 在此基础上加了一位 2**8 8位 ...
- WPF vs2015,vs2012 添加ArcObjects SDK
一:如果是vs2015,找到注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\下面的这两个,并且将名称和数 ...
- Linux中使用python测试主机存活 Linux系统CentOS Linux release 7.3.1611 (Core) py版本Python 2.7.5
下面是最初的情况 #/usr/bin/env python # -*- coding: utf-8 -*- import os import time import subprocess import ...
- Java序列化对象-字符串转换
package com.test; import com.alibaba.fastjson.JSON; import org.junit.Test; import java.io.ByteArrayI ...
- zookeeper(4)--zookeeper分布式锁原理
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题.分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency).可用性( ...
- pm2操作总结
PM2是一个node.js的进程管理器,(并且呢在应用程序的生产运行时自带负载均衡的这种操作,很厉害): --> pm2主要解决的问题是kill node进程时无法正常停止的问题. 主要特征: ...
- Flex学习笔记-自定义菜单的显示细节
icon <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx=&qu ...