持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第20天,点击查看活动详情
今天终于到面向对象部分了,依旧是一些基础知识。
- 方法调用时大概类似于栈的压入压出
- 基本数据类型中,变量里存储的是真实的数据
基本数据类型
数据值是存储在自己的空间中
- 特点:赋值给其他变量,也是赋的真实的值
引用数据类型
数据值是存储在其他空间中,自己空间中存储的是地址值
- 特点:赋值给其他变量,赋的是地址值
int[] arr1 = {1,2,3};
int[] arr2 = arr1;
关于方法传递参数的结论
- 基本数据类型传递的是真实的数据
- 引用数据类型传递的是地址值,如果形参改变,那么将会影响实际参数的值
面向对象
类和对象
- 类(设计图):是对象共同特征的描述
- 对象:是真实存在的具体东西
在java中,必须先设计类,才能获得对象
如何定义类
public class 类名 {
1.成员变量(代表属性,一般是名词)
2.成员方法(代表行为,一般是动词)
3.构造器
4.代码块
5.内部类
}
如何得到类的对象?
类名 对象名 = new 类名()
Phone p = new Phone()
举个例子 Phone.java
package com.itheima.test;
public class Phone {
//属性(成员变量)
String brand;
double price;
//行为(方法)
public void call(){
System.out.println("手机在打电话");
}
public void playGame(){
System.out.println("手机在玩游戏");
}
}
PhoneTest.java
package com.itheima.test;
public class PhoneTest {
public static void main(String[] args){
//创建手机对象
Phone p=new Phone();
//给手机赋值
p.brand="小米";
p.price=1998;
//获取手机中对象的值
System.out.println(p.brand);
System.out.println(p.price);
//调用手机中的方法即可
p.call();
p.playGame();
//创建新对象
Phone p2=new Phone();
p2.brand="苹果";
p2.price=8999;
p2.call();
p2.playGame();
}
}
!注意:
- 类名首字母建议大写,需要见名知意,驼峰模式
- 一个java文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名。实际开发中建议海事一个文件定义一个class类。
- 成员变量的完整定义格式是:修饰符 数据类型 变量名称=初始化值;一般无需指定初始化值,存在默认值,对象的成员变量的默认值规则如下:
面向对象三大特性:封装 继承 多态
封装
封装告诉我们该如何正确设计对象的属性和方法
- 重要原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为
private关键字
- 是一个权限修饰符
- 可以修饰成员(成员变量和成员方法)
- 被private修饰的成员只能在本类中才能访问