Java面向对象知识(上:基础篇)
Posted 不爱熬夜的朱霸霸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象知识(上:基础篇)相关的知识,希望对你有一定的参考价值。
Java面向对象(基础篇)
一、面向对象的思想
1、什么是面向对象
说到面向对象,与之相应的还有面向过程的。接下来我会顺带讲解面向过程。通过两者的比较,有利于更好的了解 |
1.1 面向过程
什么是面向过程?
【举个栗子😊】
一件事儿- 用面向过程的角度来看,把大象装进冰箱。他的步骤和顺序有:
1->打开冰箱、2->把大象塞进去、3->关闭冰箱门
这里我们着重这件事的步骤和动作
📌 面向过程 强调过程和过程中所涉及的行为(强调行为、动作、过程)
1.2 面向对象
什么是面向对象?
【举个栗子😃】
同样以上个例子为例,把大象放到冰箱这个行为。我们主要是对冰箱这个对象进行一系列操作的。所以我们可以把这些动作赋给冰箱。比如打开冰箱、存入大象、关闭冰箱等功能。
📌 面向对象 强调把一些细化的步骤组合起来称为一个整体,把功能封装到对象,由一个实例化的对象去实现这些操作,强调具备功能的对象。
在面向对象的编程思想中,往往会涉及类和对象这两个概念,下面就会给大家讲述类和对象的概念以及用法 |
二、类和对象
2 .1 类
什么是类
✒️ 类是对现实生活中的具有共同属性和行为的抽象
🚩打个比方:猫这个字就好比一个类,因为它是所有猫类的统称。它是对一些具体品种猫的统称和概括。
2.1.1 类的组成
⚠️类由 属性和行为构成。学了类之后我们以后脑海中始终要有连锁反应——提到类,就马上想到属性和行为。
❗️ 属性:
是对象具有的各种特征,每个对象的每个属性都有特定的值。
打一个手机的比方。手机就好比是一个类,手机有不同的品牌,有小米、苹果、魅族;有颜色,有黑色、白色;有不同的价格,有2999的、有3999的;
那么在这里品牌、颜色、价格就是手机的属性。因为每部手机都具有这些特征。
❗️ 行为:
是对象能够执行的操作
同样,比如说手机,手机能执行什么操作呢?手机可以打电话、发信息、拍照等。因此打电话、发信息、拍照就是类的行为。
2 .2 对象
什么是对象
✒️
万物皆是对象,对象是对类的实例化。
如上面猫的比方。猫是一个抽象的类。那么猫的对象就可以具体到某一个实实在在的、看的见的猫。
三 、类和对象在代码中的运用
3.1 类的应用
类由属性和行为构成:
❗️ 属性在类中用成员变量来体现(类中方法外的变量)
❗️ 行为在类中用成员方法来体现(相比前面的方法去掉static)
3.1.1 类定义的格式
下图是一个实际应用:
代码块
public class iphone {
String brand; //品牌
String model;//型号
double price;//价格
public void call(){
System.out.println("打电话");
}
public void senMessage(){
System.out.println("发信息");
}
}
3.2 对象的应用
3.2.1 创建对象的格式以及调用
代码块
public class iPhonetest {
public static void main(String[] args) {
//
iphone p= new iphone();//创建对象
p.brand="苹果";
p.price=5999;
p.model="ipad pro 2021";
System.out.println("品牌:"+p.brand);
System.out.println("型号: "+p.model);
System.out.println("价格:"+p.price);
p.call(); //调用
p.senMessage();//调用方法
}
}
3.3 成员变量和局部变量
1、成员变量:
✒️ 类中且方法外的变量。 成员变量又分为:
1️⃣ 类变量(静态变量):
被static所修饰的成员变量,是属于类的部分,属于类的范畴。
2️⃣实例变量(非静态变量):
没有被static修饰的成员变量,是属于类的部分,但是属于对象的范畴。
2、局部变量:
✒️ 定义在方法中的变量,属于方法的范畴。比如方法内定义的形参,方法内定义的变量。
3.3.1 成员变量和局部变量的区别
区别 | 成员变量 | 局部变量 |
---|---|---|
类中位置不同 | 类中且方法外 | 方法内或声明上 |
内存中位置不同 | 堆内存 | 栈内存 |
生命周期不同 | 随着对象的存在而存在,随着对象的消亡而消亡 | 随着方法的调用而存在,随着方法的调用完毕而消亡 |
初始化不同 | 有默认的初始化 | 没有默认初始化值,必须先定义,赋值,才能使用。 |
四、封装
4.1 封装概念
✒️用关键字private将类中的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作。
目的:直接通过对类对象的操作来达到目的,不需要对具体实现十分了解,让类的属性和方法具体实现对外不可见,起到保护作用。
4.2 封装的实现
封装实现的步骤
在前面介绍过,封装是使用关键字private来对类的某些信息进行隐藏,在外部使用提供的set()、get()方法来进行调用。下面我们将会从private开始讲起。
4.2 private关键字
private
✒️ 是一个权限修饰符
✒️ 可以修饰成员(成员变量和成员方法)
✒️ 作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问。针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作。
封装代码
String name;
// int age
private int age;
//提供get、set方法
public void setAge(int a){
// age=a;
if(a<0||a>100){
System.out.println("你输入的年龄有误");
}else {
age=a;
}
}
public int getAge(){
return age;
}
//成员方法
public void Get(){
System.out.println(name+","+age);
System.out.println("打遍天下无敌手");
}
测试类代码
public class StudentTest {
public static void main(String[] args) {
Student p= new Student();
p.name="林青霞";
// p.age=18;
p.setAge(30);
p.Get();
}
}
❗️ 注意 方法调用方法要在主函数内进行。
以上是关于Java面向对象知识(上:基础篇)的主要内容,如果未能解决你的问题,请参考以下文章
(Java实习生)每日10道面试题打卡——Java基础知识篇