首页 > 其他分享 >初始面向对象(上)

初始面向对象(上)

时间:2024-10-21 18:21:11浏览次数:3  
标签:变量 构造方法 对象 面向对象 类名 方法 初始 赋值

大二学生,初始面向对象上,刚开始感觉颇有难度,不过经过反复思考和写代码后,难度也就相应降下来了。个人认为学java很重要一点就是要针对每个模块的知识做思维导图,这样各个知识点的联系就一清二楚了,这样写代码的时候才能写得更快。初学java,做的思维导图还有待完善。如果有的地方有错误,欢迎各位大佬批评指正!不胜感激!

f0ad7c2accf5422585d771ab15f1eb83.jpeg

 

 

下面就用实际代码对每个知识点进行详细解释

 一、先定义了一个学生类,定义了id、姓名、语文成绩、数学成绩、年份、教室编号(用static变量修饰,适用于全体成员),之后定义了一个homework方法,一个chinese方法,一个math方法,分别打印“做作业”、“语文成绩”、“数学成绩”的语句。

5e705943b8d84d82bf398dd279ecf33c.png

二、再分别定义了一个setYear和getYear方法,前者得到年份,后者返回年份。setYear方法无返回值,定义了一个整形变量,参数为year。接下来最重要的是this应用,是为了避免形参名与变量名冲突,导致编译器无法识别,this引用的是调用成员方法的对象,会在之后的main方法中通过new关键字实例化对象。getYear方法返回值是一个整形变量,无参数,返回年份。

38d96716e32b42acada127a7c811ec90.png

三、 接下来的重头戏是方法重载和构造方法。方法重载遵循两个原则:(1)方法名字相同(2)方法的参数类别(参数名称、参数类型)不同。构造方法同样也遵循两个原则:(1)方法名与类名相同,这里的方法名Student与类名相同,也没有返回值。(2)不能有任何的返回值,void也不行。构造方法分为无参和有参,有参方法多与this引用一起使用。

构造方法有什么用呢?在java和面向对象中,成员变量不用初始化,局部变量要初始化,但变量最好还是初始化。构造方法是一种特殊的方法,用于创建对象的初始化,通过在构造方法中为成员变量赋初始值,可以确保对象在创建后处于一个合理的初始状态。

方法重载可以增强代码的可读性和提高代码的灵活性。

7067f98191e14ba28861b2501dfd0a2b.png

四、 最后是main方法,用于最终实现上述所有方法。

首先通过new关键字实例化创建了两个Student对象stu1和stu2,实例化语法句式:类名 对象名 = new 类名(),对象stu1在实例化时没有赋值,对象stu2在实例化时分别为年龄赋值为2,为姓名赋值为李四,语文赋值为110,数学赋值为120。对象stu1在下面通过(对象.属性)的语法规则分别为各变量进行赋值,赋值后再通过(对象.方法)的语法规则分别调用homework方法、chinese方法、math方法。

stu1先调用setYear方法且赋值为2024,再通过对象调用getYear方法且打印,从而最终输出年份2024。

static静态成员变量不依赖对象,适用于全体成员,可以直接通过类名访问,在定义成员变量时用static修饰,默认每个对象都具有这个属性,因为它不依赖对象,只与类相关,等级高。

ec9e7fd5c55e436ba2bf10596e7fae99.png

五、 最终输出结果:最终有两种信息输出方式(1、通过调用set方法、调用且打印get方法,2、通过有参构造方法 + new关键字实例化直接赋值)

660818dbfe3f4af2bce153e9c6c98bd5.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:变量,构造方法,对象,面向对象,类名,方法,初始,赋值
From: https://blog.csdn.net/gdswsj/article/details/143100978

相关文章

  • 【STC15】面向对象的.h/.c程序架构
    .h文件#ifndef__MAIN_H_#define__MAIN_H_/*Includes------------------------------------------------------------------*/#include<STC15.h>/*externvariables-----------------------------------------------------------*//*externfunctionprot......
  • 面向对象与设计模式第一课:深入理解OOP
    第三章:面向对象与设计模式第一课:深入理解OOP面向对象编程(OOP)是一种编程范式,它将程序结构视为由对象组成,促进了代码的重用性和可维护性。在这一课中,我们将深入分析OOP的四个基本特性:封装、继承、多态和抽象,并提供相应的示例与实践。1.OOP基本特性1.1封装封装是OOP的核心......
  • 2024-10-19:用go语言,给定一个正整数 k 和初始数组 nums = [1], 可以执行两种操作:将数组
    2024-10-19:用go语言,给定一个正整数k和初始数组nums=[1],可以执行两种操作:将数组中任一元素加一,或复制数组中任意元素并将其附加到数组末尾。求使得数组元素之和大于或等于k所需的最少操作次数。输入:k=11。输出:5。解释:可以对数组nums=[1]执行以下操作:将元......
  • Java面向对象之多态,向上转型我们大家庭的由来
    各位看官早安午安晚安呀如果您觉得这篇文章对您有帮助的话欢迎您一键三连,小编尽全力做到更好欢迎您分享给更多人哦大家好我们今天来学习Java面向对象的三大特性之一的继承,我们大家庭就要来啦~一:多态的概念多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当......
  • 三,Java面向对象的特点其三:多态
    Java面向对象:深入理解多态性在Java编程中,多态性(Polymorphism)是指同一个事物在不同时刻下的不同状态。多态性是面向对象编程中的一个重要概念,它允许我们根据需要在运行时动态地改变对象的行为。多态概述多态允许一个类有多个形态,即在运行时可以改变对象的行为。多态性是继承和方......
  • 16.java面向对象:面向对象的三大特征总结
    java面向对象:面向对象的三大特征面向对象的三大特征1.封装get和set规范属性的合法化2.继承类继承子类调用父类方法super的用法通过super调用父类public的属性super注意点super对比this方法重写静态方法中奇怪的现象非静态方法3.多态多态存在的条件多态中成员访问特点......
  • 14.java面向对象:继承
    继承继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。extands的意思是“扩展”。子类是父类的扩展。JAVA中类只有单继承,没有多继承!继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的俩个类,一个为子类(派生类),一......
  • 面向对象 加法运算符重载
    ////Createdby徐昌真on2024/10/18.//#include<iostream>usingnamespacestd;//定义一个复数类classComplex{public:Complex():real(0),image(0){}Complex(intreal,intimage){//这是一个传参构造函数用于传入成员变量的值this-......
  • 面向对象综合训练
    练习1:文字版格斗游戏最原始的写法:Javabean类:importjava.util.Random;publicclassRole{privateintblood;privateStringname;publicRole(){}publicRole(intblood,Stringname){this.blood=blood;this.name......
  • 【Java】Java面向对象与方法
    1.基本方法1.1.基本定义在Java中,方法即为函数,Java中的方法定义遵循下面的通用格式修饰符返回值方法名(形参列表){方法体}对于基本方法的定义,遵循下面的结构publicstatic返回类型方法名(形参列表){方法体}是否需要返回类型和形参列表需要看该......