Java奠基】实现面向对象编程方法

这篇具有很好参考价值的文章主要介绍了Java奠基】实现面向对象编程方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

标准的JavaBean类

设计对象并使用

对象封装

this关键字

构造方法


要知道对象是一个又一个能帮助我们解决问题的东西,但是这些东西并不是凭空出现的,需要我们根据设计图来进行制造,而这些一个一个的设计图就是一个一个的类。

标准的JavaBean类

1)类名需要见名知意

2)成员变量使用private修饰

3)提供至少两个构造方法(无参构造方法、带全部参数的构造方法)

4)成员方法(提供每一个成员变量对应的get和set方法,如果还有其他行为,也需要写上)

(设计图):是对象共同特征的描述;对象是真实存在的具体的东西。在Java中必须先设计类才能获得对象。

设计对象并使用

在Java中如何定义类呢?如下:

public class Phone {
    // 属性
    String brand;
    double price;
    
    // 行为
    public void call(){
        System.out.println("小米手机");
    }
    public void playGame(){
        System.out.println("打游戏");
    }
}

在Java中如何得到类的对象呢?如下:

类名 对象名 = new 类名();
Phone p = new Phone();

在Java中如何使用对象呢?如下:

访问属性:对象名.成员变量

访问行为:对象名.方法名(...)

代码如下:

Java奠基】实现面向对象编程方法

Java奠基】实现面向对象编程方法

注意

1)类名首字母建议大写,需要见名知意,驼峰模式。

2)一个Java文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名,实际开发中建议一个文件定义一个class类。

3)成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值;一般无需指定初始化值,存在默认值。

对象封装

封装告诉我们,如何正确设计对象的属性和方法,对象代表什么就得封装对应的数据,并提供数据对应的行为

private关键字:是一个权限修饰符(私有),可以修饰成员变量和方法,被private修饰的成员只能在本类中才能访问。

public class Phone {
    // 属性
    private String brand;
    private double price;
    // 针对每一个私有化的成员变量,都要提供get和set方法
    // set方法:给成员变量赋值
    public void setBrand(String n){
        brand = n;
    }
    public void setPrice(double m){
        if(m >= 1000 && m<= 3000){
            price = m;
        }else{
            System.out.println("价格太高,我不允许!");
        }
    }
    // get方法:对外提供成员变量的值
    public String getBrand(){
        return brand;
    }
    public double getPrice(){
        return price;
    }
    // 行为
    public void call(){
        System.out.println("小米手机");
    }
    public void playGame(){
        System.out.println("打游戏");
    }
}

针对private修饰的成员变量,如果需要被其他类使用,应提供如上相应的操作,set方法用于给成员变量赋值,get方法用于获取成员变量的值:

public class PhoneTest {
    public static void main(String[] args) {
        Phone p = new Phone();
        p.setBrand("小米");
        p.setPrice(1999.98);
        // 获取手机对象中的值
        System.out.println(p.getBrand());
        System.out.println(p.getPrice());
        // 调用手机中的方法
        p.call();
        p.playGame();
    }
}

Java奠基】实现面向对象编程方法

this关键字

当我们不使用this关键字时,代码的取值采取的是就近原则如下:

Java奠基】实现面向对象编程方法

Java奠基】实现面向对象编程方法

当我们采用this关键字时,访问的就是全局变量而不是局部变量了:

Java奠基】实现面向对象编程方法

构造方法

构造方法也叫构造器,构造函数。作用:在创建对象的时候,由虚拟机自动调用,给成员变量进行初始化赋值。

构造方法的格式如下,其具体特点为:

1)方法名与类名相同,大小写一致

2)没有返回值类型,连void都没有

3)没有具体的返回值(不能由return带回结果数据)

构造方式

1)无参数构造方法:初始化的对象时,成员变量的数据均采用默认值

2)有参数构造方法:初始化对象的时候,同时可以为对象进行赋值

public class Student {
    修饰符 类名(参数){
        方法体;
    }
}

Java奠基】实现面向对象编程方法

Java奠基】实现面向对象编程方法

构造方法注意事项

构造方法定义

1)如果没有定义构造方法,系统将给出一个默认的无参数构造方法

2)如果定义了构造方法,系统将不再提供默认的构造方法

构造方法的重载

1)带参构造方法和无参构造方法,两者方法名相同但是参数不同,这叫做构造方法的重载

推荐使用方式

无论是否使用,都手动书写无参构造方法和带全部参数的构造方法

如果想快速生成构造方法,也可以借助快捷键(alt + insert)进行一键生成,如下:

Java奠基】实现面向对象编程方法

当然也可以借助插件 PTG 1秒生成标准的JavaBean,如下右键一键成:

Java奠基】实现面向对象编程方法文章来源地址https://www.toymoban.com/news/detail-455100.html

到了这里,关于Java奠基】实现面向对象编程方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Java面向对象编程·上

    大家好,我是晓星航。今天为大家带来的是面向对象编程相关的讲解!😀 包 (package) 是组织类的一种方式. 使用包的主要目的是保证类的唯一性. 例如, 你在代码中写了一个 Test 类. 然后你的同事也可能写一个 Test 类. 如果出现两个同名的类, 就会冲突, 导致代码不能编译通过

    2023年04月15日
    浏览(14)
  • JAVA- 面向对象编程(上)

    JAVA- 面向对象编程(上)

      🌈个人主页:  Aileen_0v0 🔥系列专栏: PYTHON学习系列专栏 💫个人格言:\\\"没有罗马,那就自己创造罗马~\\\" 目录 面向对象的特征及理解  new  Static Summary:   面试题:oop的三大特征是什么?  --- 封装,继承,多态 类,对象是什么? 类是自定义类型, 对象是实体 通俗的讲类相当于建房子的

    2024年02月05日
    浏览(8)
  • Java面向对象编程

    A.邮件服务的设置文件 B.DHCP的设置文件 C.DNS解析的设置文件 D.网络路由的设置文件 答案:C A.本机网关设置错误 B.本机没有正确设置DNS C.对方运行的是不同的操作系统 D.二层交换机故障 答案:A A.侵入目标服务器,获取重要数据 B.采用穷举的方式获得登录账号 C.发送无效的请求

    2024年02月07日
    浏览(17)
  • Java——面向对象编程思想

    如果有人问你,C和Java的区别是什么呢? 我想大部分人肯定脱口而出的是:C是面向过程的,Java是面向对象的。 那如何理解面向过程和面向对象呢? 首先,面向过程和面向对象都是编程思想。 ①面向过程,以C语言为代表,它是按解决一个问题的的流程或者先后步骤来编程的

    2024年02月11日
    浏览(9)
  • 【java】面向对象的编程基础

    【java】面向对象的编程基础

    true false 这里输入set和get可以自动将函数补全,传参初始化在构造属性之后 cc ccccc coleak 这里说明先构造属性,再执行代码块,再初始化 静态代码块 4 4 我是静态变量初始化 我是静态代码块 我是成员变量初始化 我是普通代码块 我是构造方法 快速构造,点击生成,构造函数,

    2023年04月16日
    浏览(10)
  • Python 面向对象编程:类、对象、初始化和方法详解

    Python 是一种面向对象的编程语言。在 Python 中,几乎所有东西都是对象,都具有其属性和方法。 类似于对象构造函数或用于创建对象的“蓝图”的类。 要创建一个类,请使用 class: 示例,创建一个名为 MyClass 的类,其中包含一个名为 x 的属性: 现在,我们可以使用名

    2024年02月08日
    浏览(13)
  • Java基础(七)面向对象编程(高级)

    Java基础(七)面向对象编程(高级)

    回顾类中的实例变量(即非static的成员变量) 创建两个Circle对象: Circle类中的变量radius是一个实例变量(instance variable),它属于类的每一个对象,c1中的radius变化不会影响c2的radius,反之亦然。 如果想让一个成员变量被类的所有实例所共享,就用static修饰即可,称为类变量(

    2023年04月16日
    浏览(14)
  • Python基础-11 面向对象编程_各种方法

    python本身支持类的动态属性 直接使用等号=,给一个属性赋值 如果这个属性存在,则会修改该属性的值 如果这个属性不存在,则会给对象添加一个新的属性及对应的值 如果需要禁止动态添加类的属性,可以使用 __slots__ 属性,如下示例 这个属性直接定义在类中,是一个元组,用来规定

    2023年04月17日
    浏览(10)
  • 【Java高级语法】(十)面向对象:掀开Java 的面向对象盖章时代,一起来发现OOP的有趣编程秘密!~

    【Java高级语法】(十)面向对象:掀开Java 的面向对象盖章时代,一起来发现OOP的有趣编程秘密!~

    面向对象编程(Object-Oriented Programming, OOP)是一种广泛应用于软件开发的编程范式 。Java是一种面向对象的编程语言,它提供了丰富的工具和特性来支持面向对象编程。本文将详细介绍Java面向对象的全部知识。 我们可以把一个Java类想象成是一个蓝图或者模具,用来创建对象。就

    2024年02月11日
    浏览(12)
  • 面向对象编程第一式:封装 (Java篇)

    面向对象编程第一式:封装 (Java篇)

    本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念

    2024年03月19日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包