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





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;
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值