一、理解什么是类和对象
万事万物皆对象
1、属性——对象具有的特征(特点)
2、方法——对象可执行的操作(能干什么事)
3、对象的定义:
是一个客观存在的,看的见或摸得着的实体,由属性和方法构成
4、类是由对象抽象出来的,看不见也摸不着
5、类和对象的关系?
类(是笼统)是模子是对象的抽象化,对象(具体的)是类的具体化
String schoolName; //中心名称
int classNumber; //教室数目
int labNumber; //机房数目
//定义北大青鸟中心的方法
public void showCenter(){
System.out.println(schoolName+" 培训中心\n"+"配备:"+classNumber+"教"+labNumber+"机");
}
public static void main(String [] args){
No1 center=new No1();
System.out.println("***初始化成员变量后***");
center.showCenter();
center.schoolName="北京远航"; //给schoolName属性赋值
center.classNumber=10; //给classNumber属性赋值
center.labNumber=10; //给labNumber属性赋值
System.out.println("***初始化成员变量后");
center.showCenter();
}
二、封装——包装
1、2种表现形式:属性和方法
2、封装的作用:
隐藏内部实现的细节,使之操作简单方便
3、java中体现的封装:
类——所有的java代码在类中(方法)编写
MyEclipse工具以项目的形式,封装
三、会创建和使用对象
1、创建类的语法
访问修饰符 class 类名{
属性;
public void 方法名(){
//循环结构、条件判断(if、switch)
//输出语句
}
}
2、创建对象
类名 对象名=new 类名();
Scanner input=new Scanner(System.in);
如何调用属性和方法?
成员变量(属性名),通过:对象名.属性名;
方法,通过:对象名.方法名();
利用面向对象做一个简单计算机
double a;
double b;
char yun;
public void suan(){
switch (yun){
case '+':
System.out.println(a+"+"+b+"="+(a+b));
break;
case '-':
System.out.println(a+"-"+b+"="+(a-b));
break;
case '*':
System.out.println(a+"*"+b+"="+(a*b));
break;
case '/':
if (b!=0){
System.out.println(a+"/"+b+"="+(a/b));
}else{
System.out.println("除数不能为0!");
}
break;
}
}
public static void main(String [] args){
No7 s=new No7();
Scanner input=new Scanner(System.in);
System.out.print("请输入第一个数");
s.a=input.nextDouble();
System.out.print("请输入第二个数 ");
s.b=input.nextDouble();
System.out.println("请输入运算符(+、-、*、/)");
s.yun=input.next().charAt(0);
s.suan();
}
面向对象
类——名词
属性——形容词
方法——动词
1、类之间的通信(访问):在一个类中new出另外一个类的对象,通过对象名.类的成员名
类的成员:属性(成员变量)、方法(成员方法)
2、优点:
信息封装和隐藏,
提高程序的安全性、可重用性、可维护性
五、调试
1、设置断点
2、启动调试
3、按F6逐行执行程序
遇到【方法】,调试方法中的代码,按F5
步骤1:编写类(属性、方法)
属性不在该类中赋值
方法,输出该属性的值
步骤2:新建有main的类(测试类)
步骤3:
创建步骤1的类的对象
对象名.属性=值;(从控制台赋值)
对象名.方法名();//将属性的值输出
/** 旧姓名*/
String oldName;
/** 旧密码*/
String oldMi;
/** 新姓名*/
String name;
/** 密码*/
String passwords;
/** 新密码*/
String newPasswords;
/** 输出帐号的show方法*/
public void show(){
Scanner input=new Scanner(System.in);
boolean f=false;
/**利用循环进行判断 */
do{
System.out.print("请输入姓名:");
name=input.next();
System.out.print("请输入密码:");
passwords=input.next();
/** */
if (name.equals(oldName)&&passwords.equals(oldMi)){
System.out.print("\n请输入新密码");
newPasswords=input.next();
System.out.println("密码修改成功!新密码为:"+newPasswords);
f=true;
break;
}else{
System.out.println("密码输入错误!您没有权限更改密码。");
break;
}
}while (f==true);
}
public static void main(String [] args){
Scanner input=new Scanner(System.in);
No11 d=new No11();
d.oldName="admin1";
d.oldMi="1111";
d.show();
}