类与对象的概念:
类:
- 分析一些事物所具有的共同的属性、功能、特征等,都可以将他们看做一个类。
- 类别用class表示。
对象:
- 从概念上讲:对象是现实中具体存在的事物。
- 从程序上讲:对象是一份数据储存在内存中。
- eg:猫类-某一只猫 狗类-正在吃某盆饭的某只狗
- 银行为例,每一个银行号都是一个具体的用户对象,所属的类就是银行的用户类。
代码中的类:
- 在程序中至少有一个类,只能创建一个主函数的类。
- java中的类:一篇文章彻底搞懂Java的大Class到底是什么 - 知乎
- 编程里的类:类(编程术语)_百度百科
如何创建一个类
- 创建类之前要分析这个类别所具有的共同的属性和方法。
- 创建类:
- 格式: class 类名 {}
- 可以被public修饰,public修饰的类是属于当前类文件的主类,类名必须与所在的文件名一致,如果不是public类,就不需要与所在的文件名一致。
- 类名规范
-
名称 规范 样例 项目名 通常字母大写说明 Pro24 包名 全小写,字母开头,使用 . 分隔 com.oop.v1 类文件名 驼峰命名,没有空格,每个单词首字母大写 JavaClass HelloWorld 属性变量名 小驼峰命名(第一个单词首字母大写)、缩写 name,age,stu_id 常量名 要求全大写 PI 、MAX_VALUE 方法名 小驼峰命名(第一个单词首字母大写) Iogin、showInfo 参数变量名 小驼峰命名(第一个单词首字母大写)、缩写 (Int age) 局部变量名 小驼峰命名、缩写 for(Int =1;){} -
这个类都具有的属性和方法,其中属性代表这个类别都具有的数据信息,方法代表这个类都具有的行为或功能逻辑。
-
学生类(姓名 年龄 学号 学分 班级|上课 考试 学习 选课等)
-
属性:表示数据信息 通常使用变量表达
-
格式:属性数据类型 属性数据变量名
-
eg:String name,int age
-
方法:表示行为或者功能逻辑 通常使用一段代码表示
-
格式:public 返回值类型 方法名(参数类型 方法名){}
-
返回值类型:
-
void :没有返回值 不需要return
-
数据类型:有返回值 需要return对应的数据
-
参数:
-
无参数:括号就空着
-
有参数:单个参数: (参数类型 参数名) 多个参数:(参数类型 参数名,参数类型 参数名)
-
eg:public void showInfo(){//输出信息的语句} public void setName(String name){this.name=name} public String getName(){return name;}
创建对象:用自己创建的类创造出来的变量-这种变量叫对象变量
- 格式: 类名 对象变量名=new 类名();
- eg:Student stu1=new Student();
- 对象变量名可以调用属性赋值 对象名.属性名=值;
- 对象变量名可以调用方法执行 对象名.方法名(); 对象名.方法名(参数值);
package lfx0322;
public class User {
//属性;
String userName;
String pwd;
int age;
String address;
String phone;
int score;
boolean isLogin;
//方法;
/**
* 登录方法
* 参数; 输入密码
* 返回值;登录是否成功
* 登陆成功2*密码错误1*用户已在线——重复登录0*
*/
public boolean Iogin(String pwdIn) {
User user1=new User();
user1.pwd="2879675934";
if (pwdIn != user1.pwd) {
System.out.println("输入的密码错误");
return false;
}
return true;
}
public void showInfo(){
System.out.println("用户的个人信息");
System.out.println("用户名"+userName);
System.out.println("密码"+pwd);
System.out.println("年龄"+age);
System.out.println("地址"+address);
System.out.println("手机号"+phone);
System.out.println("积分"+score);
System.out.println("是否在线"+isLogin);
}
/**
* 登出方法
*/
public void Iogout(){
System.out.println("用户名"+userName);
System.out.println("用户密码"+pwd);
}
/**
* 修改密码方法
* 参数:newPwd 新密码
* 参数;oldPwd 旧密码
*/
public void changePwd(String newPwd,String oldPwd){
User user1=new User();
user1.pwd="2879675934";
if (oldPwd.equals(newPwd)){
System.out.println("密码可以更改");
return;
}
}
//内置方法,用于奔雷中其他方法的实现,将多个方法中公共使用的部分,提取出来创建一个新的方法,方便代码重复使用。复用性
/**
* 验证密码是否正确
* 参数:输入密码
* 返回值:验证结果 true表示比较正确 false表示比较错误
*/
public boolean checkPwd(String pwdIn) {
if (pwdIn.equals(pwd)) {
System.out.println("密码错误");
return false;
}
else{
System.out.println("密码正确");
}
return true;
}
}
oldPwd.equals(newPwd)表示新密码与旧密码的比较