说到Java,那首先想到的就是一门面向对象的语言,管他三七二十一,先new个对象,作为一个英语弱,记忆力也不咋地的新手来说,可真是有点混乱,特别是到抽象类,对象也new不出来了,发际线疯狂后退。
对象
对象是什么,对象就是用来描述客观事物的一个实体,由一组属性和方法构成
- 对象同时具有属性和方法两项特征
- 对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相成,不能分割
类class
类是对象的类型(不同于int、double等基本数据类型,具有方法)
- 类是抽象的概念,仅仅是模板(例如:人,定义对象将会拥有其属性)
- 对象是一个具体的实体(例如:“张三”、“李四”)
- 所有Java程序都以类class为组织单元
- 关键字class定义自定义的数据类型
类命名:首字母开始,每个单词首字母大写
定义一个类的步骤:
定义类名–>编写类的属性–>编写类的方法
定义类文件
public class 类名{
//属性1的类型 属性1;
属性2的类型 属性2;-->定义属性
... ...
//方法1;
方法2;-->定义方法
... ...
定义方法
- 直接举例,购票
小于18或大于60的人免票,否则20元一人
import java.util.Scanner;
public class Person {
//定义属性
String name;
int age;
//定义方法
/* public 返回的数据类型(void为空) 方法名(){
* 方法体
* }
* /
public void show() {
Scanner input=new Scanner(System.in);
String anwser;
do{
System.out.println("输入姓名:");
name=input.next();
System.out.println("输入年龄:");
age=input.nextInt();
if(age>=18 && age<=60){
System.out.println("票价20");
}else {
System.out.println("免票");
}
System.out.println("结束购买请按n,继续请按任意键");
anwser=input.next();
}while(!anwser.equals("n"));
System.out.println("结束购票");
}
}
类的方法和特性:
- 本类中的方法可以被其他方法直接调用
成员变量和局部变量
- 成员变量:定义在类中,方法外,作用范围在整个类中,具有初始值。
- 局部变量:定义在方法中,作用范围在本方法中,本类中的其他方法无法识别,没有初始值,需要自己手动设定。不同方法中可以定义同名局部变量。
- 注意点:当局部变量和成员变量同名,方法中定义的局部变量优先级最高。如果需要调用本类的成员变量,可以使用关键字this,使用方法this.变量名。
方法的返回值:分为两种情况
- 如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该方法的返回值的类型
return 表达式
作用:跳出方法,返回结果
- 如果方法没有返回值,返回值类型为void
使用对象的步骤
- 创建对象
类名 对象名 = new 类名();
Person buy = new Person();
- 引用对象成员:使用“.”进行以下操作
引用类的属性:对象名.属性;
引用类的方法:对象名.方法名();
buy.name="张三"; //给name属性赋值
buy.show(); //调用show方法(此处为无参方法)
//如果在Person类中show()括号中有参数,则此处也需要有参数
补充注意点:
- 方法之间允许相互调用,不需要知道方法的具体实现,实现重用,提高效率
- 不能在方法外部直接写程序逻辑代码
- 方法不能返回多个值,只能返回一个
- 多个方法不能相互嵌套定义