黑马程序员技术交流社区

标题: 【郑州校区】JavaEE实体基础班教程笔记第7天第3章面向对象... [打印本页]

作者: 我是楠楠    时间: 2018-2-25 10:03
标题: 【郑州校区】JavaEE实体基础班教程笔记第7天第3章面向对象...
第3章 面向对象之构造方法

1.1 构造方法:
主要用来给对象的数据进行初始化
1.1.1 构造方法格式:
A:构造方法格式
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值
1.1.1.1 案例代码十:
[AppleScript] 纯文本查看 复制代码
package com.itheima_08;
/*
* 构造方法:
* 给对象的数据进行初始化
*
* 格式:
* 方法名和类名相同
* 没有返回值类型,连void都不能写
* 没有具体的返回值
*
*/
public class Student {
public Student() {
System.out.println("这是构造方法");
}
}
[AppleScript] 纯文本查看 复制代码
package com.itheima_08;

public class StudentDemo {
public static void main(String[] args) {
//如何调用构造方法呢?
//通过new关键字调用
//格式:类名 对象名 = new 构造方法(...);
Student s = new Student();
}
}
1.1.2 构造方法注意事项与重载
如果你不提供构造方法,系统会给出默认构造方法
如果你提供了构造方法,系统将不再提供
构造方法也是可以重载的,重载条件和普通方法相同
1.1.2.1 案例代码十:
[AppleScript] 纯文本查看 复制代码
package com.itheima_08;
/*
* 构造方法:
* 给对象的数据进行初始化
*
* 格式:
* 方法名和类名相同
* 没有返回值类型,连void都不能写
* 没有具体的返回值
*
* 构造方法的注意事项:
* A:如果我们没有给出构造方法,系统将会提供一个默认的无参构造方法供我们使用。
* B:如果我们给出了构造方法,系统将不在提供默认的无参构造方法供我们使用。
*        这个时候,如果我们想使用无参构造方法,就必须自己提供。
*        推荐:自己给无参构造方法
*      C:构造方法也是可以重载的
*
* 成员变量赋值:
* A:setXxx()方法
* B:带参构造方法
*/
public class Student {
private String name;
private int age;
/*
public Student() {
System.out.println("这是构造方法");
}
*/
public Student() {}
public Student(String name) {
this.name = name;
}
public Student(int age) {
this.age = age;
}
public Student(String name,int age) {
this.name = name;
this.age = age;
}

public void show() {
System.out.println(name+"---"+age);
}
}

[AppleScript] 纯文本查看 复制代码
package com.itheima_08;

public class StudentDemo {
public static void main(String[] args) {
//如何调用构造方法呢?
//通过new关键字调用
//格式:类名 对象名 = new 构造方法(...);
Student s = new Student();
s.show();
//public Student(String name)
Student s2 = new Student("林青霞");
s2.show();
//public Student(int age)
Student s3 = new Student(28);
s3.show();
//public Student(String name,int age)
Student s4 = new Student("林青霞",28);
s4.show();
}
}
1.1.3 包含private,无参,有参构造的标准学生类代码:
A::
a:成员变量
b:构造方法
无参构造方法
带参构造方法
c:成员方法
getXxx()
setXxx()
B:给成员变量赋值的方式
a:无参构造方法+setXxx()
b:带参构造方法
1.1.3.1 案例代码十三:
[AppleScript] 纯文本查看 复制代码
package com.itheima_09;
/*
* 学生类
*/
public class Student {
//成员变量
private String name;
private int age;
//构造方法
public Student() {}
public Student(String name,int age) {
this.name = name;
this.age = age;
}
//成员方法
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}

[AppleScript] 纯文本查看 复制代码
package com.itheima_09;
/*
* 学生类的测试类
*/
public class StudentDemo {
public static void main(String[] args) {
//无参+setXxx()
Student s = new  Student();
s.setName("林青霞");
s.setAge(28);
System.out.println(s.getName()+"---"+s.getAge());
//带参构造
Student s2 = new Student("林青霞",28);
System.out.println(s2.getName()+"---"+s2.getAge());
}
}
更多
第一天
第1章 Java概述
第2章 环境配置
第3章 语法格式
第二天
第1章 Eclipse开发工具
第2章 运算符
第3章 键盘录入
第三天
第1章 选择流程控制语句
第2章 循环流程控制语句
第3章 控制循环语句
第四天

传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出


作者: Bluewonder    时间: 2018-2-26 16:00





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2