首页 > 编程语言 >Java 面向对象

Java 面向对象

时间:2023-02-17 11:35:24浏览次数:37  
标签:Java name int age 面向对象 String public 属性

一、什么是面向对象

  1. 面向对象编程:OOP,Object-Oriented Programming。本质:以类的方式组织代码,以对象的形式组织(封装)数据。

  2. 抽象

  3. 三大特性:封装、继承、多态

二、类与对象

  1. 类:一种抽象的数据类型,是对某一类事物整体描述、定义,不能代表某一具体的事物

  2. 对象:抽象概念的具体实现

三、封装

  • 属性私有,get/set
  1. 提高安全性,保护数据

  2. 隐藏代码的实现细节

  3. 统一接口

  4. 可维护性

public class Student {
    // 属性私有,在main中无法通过实例名.属性的方法去赋值或者使用属性
    private String name;
    private int age;

    // 无参构造器
    // 使用new关键字必须要有构造器,初始化值
    public Student(){

    }
    // 有参构造器,一旦写了有参构造器,就必须显式定义无参构造器
    public Student(String name,int age){
        this.name = name;
        this.age = age;
    }
    // get方法,获得这个属性的值
    public String getName() {
        return this.name;
    }
    // set方法,设置这个属性的值
    public void setName(String name){
        this.name = name;
    }
    // get方法,获得这个属性的值
    public int getAge() {
        return age;
    }
    // set方法,设置这个属性的值,set方法也可以对设置的值进行判断
    public void setAge(int age) {
        if (age > 120 || age < 0){
            this.age = 0;
        }else {
            this.age = age;
        }
    }
}

标签:Java,name,int,age,面向对象,String,public,属性
From: https://www.cnblogs.com/xiubai/p/17121874.html

相关文章

  • Java流程控制
    流程控制用户交互Scanner(java5新特性)通过Scanner类来获取用户的输入基本语法:Scanners=newScannner(System.in);方法:next()获取输入字符串nextLine()获取......
  • Java-
    mvnpackage-DskipTests报错:[INFO]BUILDFAILURE[INFO]------------------------------------------------------------------------[INFO]Totaltime:5.311s[INF......
  • 【tomcat启动报类找不到】java.lang.NoSuchMethodError org.springframework.util.Ref
    springboot项目打成war包,放tomcat里启动报错:java.lang.NoSuchMethodErrororg.springframework.util.ReflectionUtils.accessibleConstructor(Ljava/lang/Class;[Ljava/la......
  • 16.Rust的面向对象编程特性
    面向对象编程(Object-OrientedPrograming,OOP)是一种程序建模的方法。一、面向对象语言的特性编程社区对面向对象语言的特性没有一个共识性的结论。但是对Rust来说,面向对......
  • [javascript]端序(endian)和Buffer对象的read|write系列函数
    假设有如下对象:varbuf=Buffer.from("Hello.\n");其保存在内存当中的形式实际上是这样的,这里我们假设该对象的内存地址从0x00开始:地址0x000x010x020x030x04......
  • 【技术分享】面向对象开发系列之【为什么要用面向对象】
    开源项目:https://girakoo.com/联系方式:[email protected]问答为什么要有面向对象开发?面向过程开发的C语言,往往有以下几个问题:不同的开发人员需要使用功能完全相同,......
  • 2023前端开发最新面试题收集-Javascript篇
    前台、中台、后台-前台:面向用户、客户可以感知的,如商城-中台:可以看着对前台的补充,公共服务功能,如支付系统、搜索系统、客服-后台:面向运营、比如商品管理、物流管理1......
  • Java线程基础
    线程的创建Java线程可以通过实现Runnable接口、Callable接口或继承Thread类进行创建。实现Runnable接口实例可以使用Runnable接口实现多线程,Runnable接口实现类必须实现......
  • Java 文件上传
    一:配置springBoot上传文件限制spring:servlet:multipart:max-file-size:100MB#单个文件大小max-request-size:1024MB#总文件大小二:代码i......
  • Java语言常用哪些运算符?
    之前有个大家讨论过java的数据类型,总体来说类型和其他几种语言也相差无几,我为什么会这样说?我们应该都要知道Python可还有个复数类型。这里主要给大家讲解Java运算符的分类......