2024年3月27号java学习
方法
方法是程序中最小的执行单元。
方法的格式
public static 返回值类型 方法名(参数)
方法的重载
在同一个类中定义了多个相同名字的方法,这些同名方法具有相同的功能。但每个方法具有不同的参数类型或参数个数,这些同名的方法就构成了重载关系
参数不同:个数不同、类型不同、顺序不同
示例代码
package function;
public class reloadDemo{
public static int IntSum(int a, int b) {
return a + b;
}
public static double DoubleSum(double a, double b) {
return a + b;
}
public static void main(String[] args) {
System.out.println(IntSum(1, 2));
System.out.println(DoubleSum(1.2, 3.2));
}
}
面向对象
面向对象三大特征:封装、继承、多态
类
用来描述对象具备的共同特征
定义类
public class 类名 {
成员变量(代表属性,一般是名词)
成员行为(代表行为,一般是动词)
构造器
代码块
内部类
}
用来描述事物的类:javabean类
在javabean类中不写main方法
编写main方法的类:测试类
得到一个类(对象)
类名 对象名 = new 类名();
Scanner in = new Scanner(System.in)
类的实体,是一个真实存在的东西
在java中必须先设计类才能创建对象
封装
对象代表什么,就得封装对应的数据,并提供数据对应的行为
Private
一个修饰符,可以用来修饰成员变量和成员方法,被Private修饰的东西只能在本类中使用
如果其他的类需要使用被private的成员变量,那么就要提供对应的set和get方法,方法用public修饰
示例代码
girlFriend的类代码
package Private;
public class girlFriend {
String name;//姓名
private int age;//年龄
int height;//身高
public void setAge(int age) {//设置成员变量的年龄
if (age >= 18 && age <= 50) {
this.age = age;//使用this关键字可以区分成员变量和局部变量
}
else {
System.out.println("age is error");
}
}
public int getAge() {//返回成员变量的年龄
return this.age;
}
}
package Private;
public class PrivateDemo {
public static void main(String[] args) {
girlFriend girl = new girlFriend();
girl.name = "l";
System.out.println("age = " + girl.getAge());
girl.setAge(18);
girl.height = 180;
System.out.println("name = " + girl.name);
System.out.println("age = " + girl.getAge());
System.out.println("height = " + girl.height);
}
}
this关键字
用来区分方法中调用成员变量还是局部变量,加this是调用成员变量
示例代码
package Private;
public class girlFriend {
String name;//姓名
private int age;//年龄
int height;//身高
public void setAge(int age) {//设置成员变量的年龄
if (age >= 18 && age <= 50) {
this.age = age;//使用this关键字可以区分成员变量和局部变量
}
else {
System.out.println("age is error");
}
}
public int getAge() {//返回成员变量的年龄
return this.age;
}
}
构造方法
特点:
- 方法名与类名相同,大小写也要一样
- 没有返回值类型,连void都没有
- 没有具体返回值
如果没有写任何的构造方法,那么虚拟机会自动帮我们加上一个空参构造方法。
但如果定义了构造方法,虚拟机将不再提供空参构造方法
示例代码
类中定义了有参的构造方法
package construct;
public class girlFriend {
String name;//姓名
private int age;//年龄
int height;//身高
public girlFriend(String name, int age, int height) {
this.name = name;
this.age = age;
this.height = height;
}
public void setAge(int age) {//设置成员变量的年龄
if (age >= 18 && age <= 50) {
this.age = age;//使用this关键字可以区分成员变量和局部变量
}
else {
System.out.println("age is error");
}
}
public int getAge() {//返回成员变量的年龄
return this.age;
}
}
package construct;
public class girlFriendDemo {
public static void main(String[] args) {
girlFriend girl = new girlFriend();
System.out.println(girl.height);
}
}
编译器会报错
示例代码
类代码
package construct;
public class girlFriend {
String name;//姓名
private int age;//年龄
int height;//身高
public void setAge(int age) {//设置成员变量的年龄
if (age >= 18 && age <= 50) {
this.age = age;//使用this关键字可以区分成员变量和局部变量
}
else {
System.out.println("age is error");
}
}
public int getAge() {//返回成员变量的年龄
return this.age;
}
}
使用空参构造
package construct;
public class girlFriendDemo {
public static void main(String[] args) {
girlFriend girl = new girlFriend();
System.out.println(girl.height);
}
}
构造方法的重载
带参构造方法和无参构造方法,两者方法名相同但参数不同,这叫做构造方法的重载
标准javabean
要求:
- 类名需要见名知意
- 成员变量使用private修饰
- 至少提供两个构造方法(无参和有参)
- 成员方法需要提供每一个成员变量的修改和查询

浙公网安备 33010602011771号