重点掌握

1.类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称为实例

2.创建对象的格式是:类名 对象名称 = new 类名 ();

3.方法的声明格式是:[<修饰符>] <返回类型> <方法名>({参数列表}){ 方法体 }

4.如果在定义方法时在最后一个形参的类型后增加“...”,则表明该形参可以接受多个参数值,多个参数值被当成数组传入

5.类方法的名称与类名完全一致,它用于在创建对象时对成员变量进行初始化。

类和对象的概念

类(class)和对象 (object)是两种以计算机为载体的计算机语言的合称。. 对象是对客观事物的抽象,类是对对象的抽象。. 类是一种抽象的数据类型。. 它们的关系是,对象是类的实例,类是对象的模板。

一、类与对象

类的语法构造

Java语言中定义类的语法如下:

[修饰符] class 类名
{定义构造方法;定义属性;定义方法;
}

修饰符可以是public、final、abstract或完全省略这三个修饰符,而类名只要是一个合法的标识符即可

注意:类中各成员之间的定义顺序对程序没有任何影响​​​​​​​

对象的创建和使用

在Java语言中创建对象的根本途径是,通过new关键字调用某个类的构造方法

( 1 )声明对象

类名 对象名

( 2 )实例化对象

对象名 = new 构造方法()

( 3 )属性的调用

对象名.属性

( 4 )方法的调用

对象名.方法名( [ 参数 ] )

示例

​​​​​​​创建Dota游戏中的英雄类,在该类中定义三个属性,分别是姓名、年龄和性别,然后再定义一个奔跑的方法

public class Hero {String name;    //名字int age;        //年龄String sex;     //性别//奔跑方法public void run(int a){System.out.println(a+"m/s的速度飞速狂奔");}public static void main(String[] args){//创建英雄对象Hero hero = new Hero();//通过对象实例调用name属性并为该属性赋值hero.name = "暗黑游侠";hero.age = 20;hero.sex = "女";System.out.println("英雄的名字:"+hero.name);System.out.println("英雄的年龄:"+hero.age);System.out.println("英雄的性别:"+hero.sex);hero.run(30);//使用该对象调用run()方法}}

程序运行结果如图

二、方法详解

方法是类或对象的行为特征的抽象,是类或对象最重要的组成部分,通过方法可以实现对类的属性的操作

方法声明

方法(method)的声明包含方法头和方法体两部分,方法的声明格式如下:

[<修饰符>] <返回类型> <方法名>([ 参数列表 ]){ 方法体 }

1.​​​方法头包括修饰符、返回类型、方法名和参数列表;方法体包括在括号内的声明部分和语句部分,用于描述方法的功能

2.修饰符,表示方法的访问权限。修饰符有private、缺省访问修饰符、protected和public

3.返回类型,为该方法返回值的类型,如该方法没有返回值,则方法的返回类型为void

4.参数列表,指定在调用时应该传递的参数的个数和类型。参数列表如果包含多个参数,相邻的参数之间用逗号隔开,此处的参数在定义时并没有分配存储单元,只有在运行时间才分配,所以称为形式参数。方法也可以没有参数,称为无参方法

5.对于有返回值的方法,方法体中至少有一条return语句,形式为return(表达式)。当调用该方法时,表达式的值就是方法的返回值,方法返回值的类型应和表达式的类型一致

6.方法不能嵌套定义,即不能在方法中再声明其他的方法

方法参数的传递

public class Parameter {//该方法用于在方法中互换形参值public void change(String x,String y){String temp;     //定义一个临时变量System.out.println("***形参改变之前***");System.out.println("x="+x+"\t"+"y="+y);//形参值的互换temp=x;     //将x值赋值给变量tempx=y;        //将变量y值赋值给变量yy=temp;     //将temp值赋值给变量ySystem.out.println("***形参值互换后***");System.out.println("x="+x+"\t"+"y="+y);}public static void main(String[] args) {Parameter param = new Parameter(); //创建Parameter实例String a = "10",b = "20";System.out.println("---调用change()方法前---");System.out.println("a="+a+"\t"+"b="+b);param.change(a,b);     //调用方法System.out.println("---调用change()方法后---");System.out.println("a="+a+"\t"+"b="+b);}}

程序运行结果如图

三、可变形参方法

可变方发声明

[ < 修饰符 > ] < 返回类型 > < 方法名 >( 变量类型...变量名 ){ 方法体 }

1.​​​方法头包括修饰符、返回类型、方法名和参数列表;方法体包括在括号内的声明部分和语句部分,用于描述方法的功能

2.修饰符,表示方法的访问权限。修饰符有private、缺省访问修饰符、protected和public

3.返回类型,为该方法返回值的类型,如该方法没有返回值,则方法的返回类型为void

4.变量类型为任意数据类型,在变量类型和变量名之间用"..."表示。其中"..."不是省略号,而是定义参数类型的方式

可变参数的特点如下:

( 1 )只能出现在参数列表的最后面

( 2 )”...“位于变量类型和变量名之间,前后有无空格都可以

( 3 )调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数

示例

public class VarargsTest {public static void testVarargs(int x,String...users){for(String user:users){System.out.println(user);}}public static void main(String[] args) {//采用可变个数形参的方法调用testVarargs(3,"小兴","阿彪","阿伟");}}

程序运行结果如图

四、构造方法

构造方法是一种特殊的方法,它是一个与类同名的方法。 对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。 当类实例化一个对象时会自动调用构造方法。 构造方法和其他方法一样也可以重载

特点:当一个类中没有定义构造函数时,系统会给该类中加一个默认的空参数的构造函数,方便该类初始化。只是该空构造函数是隐藏不见的

示例

public class Hero {String name;int age;//用户自定义的构造方法public Hero(String xm,int nl){System.out.println("---用户自定义构造方法执行了---");name = xm;age = nl;}public Hero(){System.out.println("---缺省构造方法被执行了---");}public void showMessage(){System.out.println("英雄名:"+name+"\t"+"英雄年龄:"+age);}public static void main(String[] args) {//用缺省构的构造方法创建对象Hero hero = new Hero();Hero hero2 = new Hero("吕德华",66);hero.showMessage();hero2.showMessage();}}

程序运行结果如图

如有错误和不足请大佬指出

Java面对对象程序设计——面对对象相关推荐

  1. 张云飞 201771010143 《面对对象程序设计(java)》第十七周学习总结

    张云飞 201771010143 <面对对象程序设计(java)>第十七周学习总结 1.实验目的与要求 (1) 掌握线程同步的概念及实现技术: (2) 线程综合编程练习 2.实验内容和步骤 ...

  2. 面对对象程序设计---第一次blog

    这里写自定义目录标题 引言: 第一次与第二次大作业 题目集2:7-2 串口字符解析 点线形系列1-计算两点之间的距离 点线形系列2-线的计算 点线形系列3-三角形的计算 总结 引言: 这次的作业是基础 ...

  3. 自动化测试之python基础什么是面对对象之类和对象

    前言 学习自动化测试需要掌握一门开发语言,Java.python这两个可以选一个,这里呢笔者推荐的是python语言,因为它比较好学,那么今天呢,笔者就来给大家介绍一下python基础中的面对对象之类 ...

  4. python中对象的特性_python中类与对象之继承,python类和对象理解,面对对象的三大特性之...

    python中类与对象之继承,python类和对象理解,面对对象的三大特性之 面对对象的三大特性之继承 1.什么是继承? 在程序中,继承指的是class与class之间的关系 继承是一种关系,必须存在 ...

  5. Java基础学习总结(127)——Java方法应该返回空对象还是null

    Java方法应该返回空对象还是null? 大多数情况下就是在需要返回值的方法中,使用空对象(empty object)来代替返回null.理由很简单,空对象与其他有意义的对象一样,使得调用方法的用户不 ...

  6. Java笔记07——类和对象

    目录 1. 面向对象---概述 1.1 啥是面向对象编程? 1.2 为什么要面向对象编程 1.3 面向对象学什么? 总结一 2 创建和设计 类 2.1 什么是 类? 2.2 什么是对象? 2.3 如何 ...

  7. 狼人杀与血染钟楼的【JAVA面向对象】————类和对象

    目录 一.类 1.什么是类 2.类的定义 3.类的构成 二.对象 1.什么是对象 2.对象的实现 三.static 一.类 1.什么是类 天黑请闭眼! 现在是狼人杀的时间,好了,现在你拿的身份是狼人. ...

  8. Java基础教程-05-面向对象

    Java基础教程-05-面向对象 1. 面向过程和面向对象解释 1.1 面向过程 1.1.1 简述 我们回想一下, 前面我们完成一个需求的步骤是怎样的? 首先是搞清楚我们要做什么. 然后在分析怎么做. ...

  9. java中的类和对象(重点)超详细

    java中的类和对象 1.类与对象的初步认知 2.类和对象的实例化 3.类的成员 3.1.字段,属性,成员变量 3.2.方法 3.3.static 关键字 3.4.小结 4.封装 4.1.privat ...

最新文章

  1. 《创业维艰分享之五》所有得,有所乐,日事日清,循序渐进。
  2. Struts2的2.5.10版本找不到StrutsPrepareAndExecuteFilter过滤器 与 struts.xml文件通配符异常问题
  3. ICCV NAS Workshop 最佳论文提名:通过层级掩码实现高效神经网络架构搜索
  4. Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.
  5. 正则表达式 转义字符
  6. 简单的sql循环操作
  7. 将shp数据导入SQL Server
  8. linux文件的上传和下载(终端工具SCRT和XShell)
  9. 回眸 2020,展望 2021
  10. Windows Server执行定时任务
  11. 图灵、冯诺依曼谁更牛?
  12. 小程序页面onload(),onready()加载顺序
  13. python微信小程序 java电子书阅读器系统uniapp
  14. 2020-11-10
  15. Python---复制文件夹
  16. oracle INSTR函数的介绍
  17. Win10左下角搜索栏以及资源管理器搜索栏无法使用(点击没有反应)
  18. PULUODY LIMS系统实操
  19. 升级sp3后出现:一个问题阻止windows正确检测此机器许可证--解决方案
  20. 《仓鼠球online》80%策划案

热门文章

  1. ffmpeg安装及在java中的使用案例
  2. python全局变量(模块法和global)
  3. rook 排错记录 + Orphaned pod found kube-controller-manager的日志输出
  4. href传中文参数乱码问题
  5. 武汉大学计算机转专业2021,通知|关于做好2021年普通本科生转专业工作的通知...
  6. github首次使用提交项目
  7. java 域账户登录失败_域用户登陆,错误:无法登录到你的账户,通常可以通过从你的账户注销,然后重新登录来解决此问题...
  8. 7个实用的Python自动化代码,技术改变生活,不再重复
  9. 科技的成就(二十七)
  10. 数字时代,商业智能BI的落地意味着什么