定义类的时候,属性和方法不是必须的。
一个源文件中可以有N个类,但是有且只能有一个public修饰的类,并且这个源文件的名称必须和public修饰的类名一致
属性:(成员变量)
语法:
[修饰符] 数据类型 属性名 = [默认值];
注意:
1、修饰符和默认值可以没有,没有的时候系统会根据数据类型对应的给默认值
2、数据类型和属性名一定要有,属性名的定义要符合合法的标识符命名规范
方法:
语法:
[修饰符] 方法的返回类型 方法名(形参列表){
逻辑代码;
}
注意:
1、方法可以没有修饰符,java中的修饰符有四个(public、protected、[default]、private后面会讲)
2、方法的返回类型可以没有,void代表无值返回
3、方法的返回类型可以是任意的数据类型,换句话说可以是基本数据类型,也可以是引用数据类型
4、方法的形参列表也可以没有,如果有多个形参列表的时候,需要用逗号
5、方法的参数传递是值传递,这个后面再讲
对象的创建:(实例化的过程)
ClassName objectName = new ClassName();
注意:
1、通过new关键字创建了一个叫objectName的对象,我们称objectName是ClassName一个实例或者说一个对象
如何使用属性和方法:
1、使用对象.成员
2、使用对象.属性 对象.方法 调用
public class Student {
//定义属性:
int stuNumber; //学号
String name; //姓名
int age; //年龄
//定义一个方法:
void introduce(){
System.out.println("学号:" + stuNumber +" 姓名:" +name +" 年龄:" +age);
}
//定义一个吃的方法:
public void eat(String food){
System.out.println(name +"正在吃:"+ food);
}
}
public class TestStudent {
public static void main(String[] args) {
//创建一个对象
Student student = new Student();
//调用方法
student.introduce();
System.out.println(“赋值之后… …”);
//修改属性
student.stuNumber = 01406;
student.name = “张三”;
student.age = 18;
//输出每一个属性
System.out.println(student.stuNumber);
System.out.println(student.name);
System.out.println(student.age);
//调用方法
student.introduce();
student.eat("苹果");
}
}
import java.util.Scanner;
//更改管理员密码
public class Administrator {
//定义属性
String account = "admin";
String password = "123456";
//定义方法输出账号和密码
public void accountInfo(){
System.out.println("账号:" + account +"\t密码:" +password);
}
public static void main(String[] args) {
//创建一个对象
Administrator admin = new Administrator();
System.out.println("未修改密码之前的账号信息------");
admin.accountInfo();
//创建一个Scanner
Scanner sc = new Scanner(System.in);
while(true){
System.out.print("请输入账号名称:");
String accountName = sc.next();
System.out.print("请输入密码:");
String pwd = sc.next();
//验证账号信息是否合法
if(accountName.equals(admin.account) && pwd.equals(admin.password)){
//合法,修改密码
System.out.print("请输入新密码:");
pwd = sc.next();
admin.password = pwd;
break;
}else{
System.out.println("您输入的账号信息有误,请重新输入!");
}
}
//输出修改之后的账号信息
System.out.println("修改密码之后的账户信息------");
admin.accountInfo();
}
}