首页 > 编程语言 >Java 三大特性之封装(包含构造器,this关键字详解)

Java 三大特性之封装(包含构造器,this关键字详解)

时间:2024-05-27 13:33:33浏览次数:18  
标签:封装 String color 构造 Java size public 三大 bread

java封装

在Java中,面向对象的封装(Encapsulation)是一种将对象的属性和行为(数据和方法)包装在一起,隐藏对象的属性和实现细节,仅对外提供公共访问方式来操作该对象的方法。封装的主要目的是增强安全性和简化编程,同时使代码更易于维护和扩展。

java封装的特点

  • 1. 良好的封装能够减少耦合。
  • 2. 类内部的结构可以自由修改。
  • 3. 可以对成员变量进行更精确的控制。
  • 4. 隐藏信息,实现细节。

构造器

在Java中,构造器(也称为构造函数)是一种特殊的方法,没有返回值。

构造器作用

用于初始化新创建的对象的状态。当使用new关键字创建一个对象时,构造器会被自动调用。

初始化新创建的对像

1.当一个对象被创建时,它的所有字段(属性)都会被自动赋予默认值,这些默认值通常是基于字段的数据类型(如0、null、false等)所以需要初始化。

2.确保对象完整性

3.避免空指针异常

4.性能优化

5.代码可读性和维护性

构造器的实现

如果一个类没有显式地定义任何构造器,编译器会自动为它提供一个无参构造器。但是,如果类定义了一个或多个构造器(无论是否有参数),编译器就不会再自动提供无参构造器。

    //无参构造器
    public Car() {
    }
    //有参构造器
   public class MyClass {  
    // 这是一个实例变量  
    int instanceVariable;  
  
    // 这是一个构造器,用于初始化实例变量  
    public MyClass(int value) {  
        this.instanceVariable = value;  
    }  
  
    // 这是一个方法,用于获取实例变量的值  
    public int getInstanceVariable() {  
        return this.instanceVariable;  
    }  
  
    // 这是一个方法,用于设置实例变量的值  
    public void setInstanceVariable(int value) {  
        this.instanceVariable = value;  

 this关键字

当创建一个对象后,Java虚拟机就会为其分配一个指向对象本身的指针,这个指针就是“this”。

作用

用于引用当前实例对象

实现

public Car(String color, double size, String bread) {
        this.color = color;
        this.size = size;
        this.bread = bread;
}

 

实现java封装

创建一个实体类,类中包括:

1.属性(变量)

2.无参构造器

3.有参构造器

4.get,set方法

5.等等方法

public class Car {
    // 一个类,对象的模板
    private  String color;
    private  double  size;
    private  String  bread;
    //类的属性
    //无参构造器
    public Car() {
    }
    //有参构造器
    public Car(String color, double size, String bread) {
        this.color = color;
        this.size = size;
        this.bread = bread;
    }
    //get,set方法
    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public double getSize() {
        return size;
    }

    public void setSize(double size) {
        this.size = size;
    }

    public String getBread() {
        return bread;
    }

    public void setBread(String bread) {
        this.bread = bread;
    }

    public void drive(){
        System.out.println("可以开");
    }
}

 

 

 

标签:封装,String,color,构造,Java,size,public,三大,bread
From: https://blog.csdn.net/liuyangzhengwei/article/details/139220518

相关文章

  • java 三大特性之多态
    多态多态就是基于继承条件下,具有对象多态(一个人可以是儿子,可以是父亲等),行为多态(都可以跑,但跑的有快有慢)。特点1.多态存在方法重写2.多态编译看左边,运行看右边3.变量没有多态性4.多态下不能使用子类的独有功能好处多态可以使程序有良好的扩展,并可以对所有类的对象进行通......
  • java中的类加载器
    类加载器(ClassLoader)是Java虚拟机(JVM)的一部分,它负责将类文件(.class)加载到内存中,并在运行时为应用程序提供类的定义。类加载器在Java中起着至关重要的作用,因为它们允许Java应用程序在运行时动态加载类,这对于大型和复杂的应用程序尤为重要。本文将深入探讨Java中的类加载器,讨论它......
  • Java学习【面向对象综合练习——实现图书管理系统】
    Java学习【面向对象综合练习——实现图书管理系统】前期效果图书的创建用户的创建操作的实现完善操作显示图书查找图书新增图书借阅图书归还图书删除图书前期效果用户分为普通用户和管理员,登录进系统之后可以对图书进行一系列操作,此时我们要明白,对图书的操作是通过......
  • Java常见流的分类及简单讲解
    目录一、梳理总结一 1.字节流:2.字符流:二、梳理总结二什么是IO流字符流与字节流的关系缓冲流BufferedReader/BufferedWriter,BufferedInputStream/BufferedOutputStream一、梳理总结一 流在Java中是指计算中流动的缓冲区。从外部设备流向中央处理器的数据流成为......
  • Java语言程序设计1 第二章:变量、数据类型、运算符、表达式
    一、变量1.概念:        计算机中的一块内存空间,存储数据的基本单元2.变量的组成部分:        数据类型、变量名、数据3.语法:        (1)先声明,再赋值:       ·数据类型变量名;//声明                变量......
  • java 实现递归方法
    递归是一种通过调用自身的函数来解决问题的方法。在Java中,编写递归可以按照以下步骤进行:确定基本情况:首先确定递归函数的基本情况,即递归终止条件。通常,这是一个简单的情况,无需进一步递归调用即可解决。定义递归方法:编写一个方法来解决问题,并在方法中判断是否需要进行递归调......
  • Java涉及的运算符
    Java涉及的运算符有以下几种:算术运算符:用于进行基本的数学运算,包括加法(+)、减法(-)、乘法(*)、除法(/)、取余(%)等。赋值运算符:用于将一个值赋给变量,包括简单赋值(=)、加法赋值(+=)、减法赋值(-=)、乘法赋值(*=)、除法赋值(/=)、取余赋值(%=)等。关系运算符:用于比较两个值之间的关系,返回一个布......
  • java 数组的常见操作
    在Java中,数组是一种特殊的对象,用于存储相同类型的多个元素。以下是一些常见的数组操作:声明数组:使用以下语法声明一个数组,其中type是数组元素的数据类型,name是数组的名称。type[]name;例如,声明一个整数数组:int[]numbers;创建数组:使用关键字new和数组的长度来......
  • javaEE—图书管理系统(基础代码版)
                           前言:本篇博客是集合了javaEE所学的知识构建的一个基础框架,讲述着面向对象的过程是如何做到多对象交互协作完成框架的构建的。利用了数组,接口,类和对象,抽象类,Object类等知识来完成。后续会加入数据库,网页......
  • 计算机毕业设计springboot+vue学生档案学籍信息管理系统java
    本文所设计的学籍系统的设计与实现拥有前端和后端,前端使用Vue.js框架和创建,后端使用Springboot框架创建,开发语言采用Java,使用Mysql数据库对后台数据进行存储。将IDEA作为主要的开发工具。接着进行系统的需求分析、功能设计、数据库设计,最后进行编码实现。技术栈ide工具:IDEA......