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 ...
随机推荐
- GIT命令行笔记
一次常规的初始化+推送: git initgit config user.email "you@example.com"git config user.name "asm ...
- DateTimepicker中的星期问题
开发机:win10 64+VS2013 客户机:win7 32bit 在项目中使用DateTimepicker,需要将时间获取到,然后转换为string,然后再转换为DateTime类型.开发机器上测 ...
- DB通用类:Sqlite通用类库
Sqlite通用类库 using System; using System.Collections; using System.Collections.Generic; using System.IO ...
- virsh详解
来个表情包表达我此时的心情 man virsh virsh [options]... [<command_string>] virsh [options]... <command&g ...
- TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」)
在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮 ...
- three.js学习:点光源+动画的实现
与前几个教程类似,场景和相机等设置就不再重复声明了.这里只列出新学的内容. 1.圆柱体(圆锥体)的初始化 function initObject() { var geometry = new THRE ...
- javascript(面向对象,作用域,闭包,设计模式等)
javascript(面向对象,作用域,闭包,设计模式等) 1. 常用js类定义的方法有哪些? 参考答案:主要有构造函数原型和对象创建两种方法.原型法是通用老方法,对象创建是ES5推荐使用的方法.目前 ...
- 2012年第三届蓝桥杯Java本科组省赛试题解析
题目地址:https://wenku.baidu.com/view/326f7b4be518964bcf847c96.html?rec_flag=default => 百度文档 题目及解析 ...
- iOS oc 检测手机移动网络和wifi是否开启
利用Reachability的的一个方法currentReachabilityStatus 获取枚举类型值判断是否为2即可,不是2就不是WiFi. enum { // DDG Netwo ...
- Yii框架中使用SRBAC作为权限管理模块时遇到的问题
Yii框架中使用SRBAC作为权限管理模块时遇到的问题 看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整去,安装完了,可就是进不了权限管理界面. 最后想到, ...