标签:
今天2016年5月3日,JAVA学习第四天!
P76 3.4构造方法
默认情况下会存在一个无参的构造方法。
class Person{ //类名称首字母大写
public Person(){ //无参返回值的方法
}
}
第一段代码:
package com.cqvie.yyc;
//如果没有写构造方法,系统会默认创建一个无参的构造方法,比如:
//public Person()
//{
//
//}
//如果写了构造方法,系统不再创建默认构造方法,比如,已经写了构造方法:
//public Person(String n,int a)
//{
//...
//}
//系统将不再默认创建无参构造方法
//Person per =new Person();//这句将编译出错
public class Person {
public String name;
public int age;
public Person(){
name="无名氏";
age=1;
}
public Person(String n,int a)//函数重载
{
setName(n);
setAge(a);
}
public void tell() {
System.out.println("我叫"+name+",今年"+age+"岁");
}
public void setName(String n){
name=n;
}
public void setAge(int m){
if(m>=0&&m<=250){
age=m;
}
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
第二段代码:
package com.cqvie.yyc;
public class PersonTest {
public static void main(String[] args) {
Person p=new Person();
p.tell();
Person p1=new Person("姜子牙",80);
p1.tell();
}
}
输出结果:
我叫无名氏,今年1岁
我叫姜子牙,今年80岁
P125 this 关键字
代码:
public class Person{
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}//setter、getter略
public String getlnfo(){
return "姓名:"+name+",年龄"+age;
}
}
public class TestDemo {
public static void main(String args[]) {
Person per = new Person("张三”,20);
System.out.println(per.getlnfo());
}
}
程序运行结果:
姓名:张三,年龄:20
日后的所有开发中,为了避免不必要的bug出现,本书建议:只要是调用类中属性的情况,都要使用“this.属性"的方式进行表示。
2.(this)调用本类方法 P128-129
所有的构造方法是在对象实例化时被默认调用的,而且是在调用普通方之前调用用,所以使用”this()“调用构造方法的操作一定要放在构造方法的首行。
3.this表示当前对象:P132 暂时还没讲
P80 3.5匿名对象-------------------
P81 3.6简单Java类------------------
P84-103 3.7数组
声明并开辟数组(也可以称为实例化数组)
数据类型 数组名称 []=new 数据类型 [长度]; int a[] =new int[3];
数据类型 [] 数组名称 =new 数据类型 [长度]; int [] a=new int [3];
标签:
原文地址:http://www.cnblogs.com/hyyq/p/5456728.html