- 对象同时具有属性和方法两项特性
- 对象的属性和方法通常被封装在一起,共同体现事物的特性, 二者相辅相承,不能分割
- 类是模子,定义对象将会拥有的特征(属性)和行为(方法)
- 类和对象区别
--1.类是对象的类型,不同于int类型,类是具有方法
例如:“人”
--2.对象时一个能够看得到、摸得着的具体实体
例如:赵丽颖
String name = "唐";//String是类,name是对象
- 所有Java程序都以类class为组织单元
定义一个类的步骤
1.定义类名
2.编写类的属性
3.编写类的方法
练习题
-
在不同城市的培训中心,会感受到相同的环境和教学氛围,用类的思想输出中心信息
public class School {
//属性
String schoolName; //中心名称
int classNumber; //教室数目
int labNumber; //机房数目
//方法
public void showCenter() {
System.out.println(schoolName + "培训学员\n" + "配备:"
+ classNumber + "教" + labNumber + "机");
}
}
使用对象的步骤
- 创建对象
类名 对象名 = new 类名();
School center = new School();//调用School
- 引用
1.引用对象成员:使用“.”进行以下操作
2.引用类的属性:对象名.属性
3.引用类的方法:对象名.方法名()
练习题
-
一个景区根据游人的年龄收取不同价格的门票。请编写游人类,根据年龄段(10岁到60岁之间20元,否则免费)决定能够购买的门票价格并输出
public class JourneyPerson {
String name;
int age;
public void showinfo()
{
String ticketInfo = "";
if (age < 10 || age >60)
{
ticketInfo = "门票免费";
}
else
{
ticketInfo = "门票价格为:20元";
}
System.out.println(name + "的年龄为:" + age + "," + ticketInfo);
}
}
public class Main {
public static void main(String[] args) {
JourneyPerson journeyPerson = new JourneyPerson();
while(true) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入姓名:");
journeyPerson.name = scanner.next();
if (journeyPerson.name.equals("n")) {
break;
}
System.out.println("请输入年龄:");
journeyPerson.age = scanner.nextInt();
journeyPerson.showinfo();
}
System.out.println("退出程序");
}
}
定义类的方法
- 第一种
如果方法具有返回值,方法体中必须使用关键字return返回该值,返回值类型为该返回值的类型
return 表达式;
作用: 跳出方法、返回结果
public class Student{
String name = "张三";
public String getName(){
return name;
}
//……
}
- 第二种
如果方法没有返回值,返回值类型为void
public class Student{
String name = "张三";
public void getName(){
}
//……
}
变量的作用域
- 变量声明的位置决定变量作用域
- 变量作用域确定可在程序中按变量名访问该变量的区域
成员变量和局部变量
- 区别1
--成员变量的作用域在整个类内部都是可见的
--局部变量的作用域仅限于定义它的方法 - 区别2
--Java会给成员变量一个初始值
--Java不会给局部变量赋予初始值 - 注意
--在同一个方法中,不允许有同名局部变量,在不同的方法中,可以有同名局部变量
--在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级