您当前的位置: 首页 >  Java

星夜孤帆

暂无认证

  • 3浏览

    0关注

    626博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java学习笔记(13)-构造方法

星夜孤帆 发布时间:2018-05-21 16:37:49 ,浏览量:3

package day2;

public class Demo02 {
/*
 * 构造方法 == 构造器
 * 构造器语法:在类中定义,方法名与类名一样!包括大小写,不能定义返回值。
 * 构造器的作用,用于创建对象,初始化对象属性,
 * 构造器的参数:一般是初始化对象的前提条件
 * 区别于方法:方法是功能,是操作算法,使用对象调用方法
 * 构造器是用来创建对象,是初始化方法,使用new运算调用
 * 
 */
	public static void main(String[] args){
		Point p1 = new Point(3,3);//new运算调用构造器,返回对象
		p1.up(2);//使用引用调用对象的方法,实现移动的功能
		System.out.println(p1.y);
		Point p2 = new Point(5,5);
		p2.up(2);
		System.out.println(p2.y);
	
	}
}
class Point{
	int x;
	int y;
	public Point(int x, int y){//构造方法
		this.x = x;
		this.y = y;
	}
	public void up(int dy){
		this.y = this.y - dy;
//		y = y - dy;//当局部变量与成员变量名字不同时,可以省略this
	}
}

package day2;
/*
 * 默认构造器
 * new运算调用的是构造器!
 * 1)类一定有构造器!记住,这是真的,不允许质疑!
 * A.如果类没有声明(定义)任何的构造器,java编译器会自动插入默认构造器!
 * B.如果类声明了构造器,java编译器将不再提供默认构造器
 * 默认构造是无参数,方法体是空的构造器
 */
public class Demo03 {
	public static void main(String[] args) {
		Foo foo = new Foo();//调用了javac自动添加的默认构造器
		//Koo koo = new Koo();//编译错误,没有Koo()构造器
		Koo koo = new Koo(8);
	}
}
class Foo{}//Foo有构造器,有无参数的默认构造器!
class Koo{
	public Koo(int a){//声明了有参数构造器
		System.out.println("Call Koo(int)");
	}
}

package day2;
/*
 * 构造器是可以重载的
 * 重载的目的是为了使用方便
 * 重载规则与方法重载规则相同。
 */
public class Demo04 {
	public static void main(String[] args){
		//创建原点
		Point1 o = new Point1();//new Point1(0,0)
		//创建对角线上的点
		Point1 p1 = new Point1(5);//new Point1(5,5)
		Point1 p2 = new Point1(3,4);
		System.out.println(p1.x+","+p1.y);//5,5
	}

}
class Point1{
	int x; int y;
	public Point1(){
		this.x = 0;this.y = 0;
	}
	public Point1(int x,int y){
		this.x = x; this.y = y;
	}
	public Point1(int x){
		this.x = x; this.y = x;
	}
}
关注
打赏
1636984416
查看更多评论
立即登录/注册

微信扫码登录

0.0379s