JAVA OPP:面向对象程序设计
面向对象是基于面向过程,对象是将功能进行了封装。只要找到了具体的类,创建出对象,就可以调用其中的具体功能。
类【属性+功能】是抽象的,实例【对象】是具体的。
一、对象的分析:
1、从多个实例中分析对象的静态特征和动态特征。
静态特征:事物固有的属性;
具有默认值的属性,同数组类型中的默认值相同。
动态特征:事物存在的行为【方法】;
在方法中直接使用。
2、类和对象的关系:
面向对象程序设计就是使用对象进行程序设计,对象object就是一个实例。
二、创建对象:
类名 对象名 =new 类名();
对象名.方法名();
//对象名:驼峰明明法:第一个单词小写,第二个单词首字母大写
一个对象属性值的更改,不会影响到i其他属性。
public class 类名{
//静态特征【属性】
String brand;
int year; //数据类型+名字
//动态特征【方法】
public void info(){
System.out.printIn(brind);
}
}
//创建对象
public class carTest{
public static void main(String[] args){
Car car = new Car(); // 类名 对象名=new 类名();
car.brand ="'; //给属性进行赋值
car.info(); // 调用info方法
}
}
匿名对象: new 对象名(). 方法名();
匿名对象只能使用一次。
三、成员变量和局部变量的异同
相同点:声明的方法相同【数据类型+变量名】
不同点:
| 成员变量 | 局部变量 | |
| 作用域 | 定义在类中 | 定义在方法或者代码块中的变量中 |
| 存储位置 | 堆 | 栈 |
| 修饰词 | public private final | final |
| 默认值 | 有默认值 | 无默认值 |
四、方法
public void 方法名(){
方法体;
}
public:访问修饰符;
void:返回值类型(void无返回值)
():参数方法:方法执行的条件;【多个参数,中间需要用“,”隔开】
2、无参条件:
void:无返回值;
int;string:有返回值;【后+retuen;】
返回的结果必须和方法类型相同;
(调用有返回值的方法,需要变量接受结果,然后对结果做自己的业务处理)
public class Student{
//属性
String name;
String age;
int id;
//无返回值方法:
public void eat(){
System.out.printIn(name +"在吃饭");
}
//有返回值
public int exam(){
Random r =new Random();
int score = r.nextInt(101);//随机生成一个0-100的数
return score;//返回结果必须与声明的返回值类型相同
}
}
//创建对象
public class StudentTest{
public static void main(system[] in){
STudent s1 = new Student();
s1.name="傻瓜";
s1.eat;//调用无返回值eat方法
int s = s1.exam();//调用有返回值exam方法
System.out.printIn(s);
}
}
3、带参方法
形参:形式上的参数,定义方法时使用的参数;
实参:调用方法的时候,实际传递的参数;
//有返回值
public class Juice(){
public String juice(String fruit){//fruit是形参,且与返回值类型相同
String juice = fruit +"汁";
return juice;
}
}
//创建对象
public class Juice(){
public static void main(){
Juice ju =new Juice();
String j1 =ju.juice("苹果");//苹果是实参
System.out.printIn(j1);
//或者
String f ="桃子";//把实参传递给变量
String j2 =ju.juice("f");
System.out.printIn(j2);
}
}
形参和实参必须在类型、顺序、数值、保持一一对应。
4、方法的重载
同一个类中,方法名相同,参数不同,与修饰词和返回类型无关。
方法之间,只能相互调用,不能重复定义;(不调用不执行)



