java面对对象程序设计——面对对象(代码片段)

鱼仔没人爱 鱼仔没人爱     2022-11-07     798

关键词:

重点掌握

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值赋值给变量temp
		x=y;        //将变量y值赋值给变量y
		y=temp;     //将temp值赋值给变量y
		System.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阶段五之面对对象应用(代码片段)

面对对象应用常用APIString类关于String为啥不可改变StringBuilder类String、StringBuffer和StringBuilder的区别:ArrayList1.1ArrayList类概述1.2ArrayList类常用方法学生管理系统常用APIAPI理解什么是API  API(ApplicationProgrammingInterface):应用程序编... 查看详情

201771010135杨蓉庆《面对对象程序设计(java)》第八周学习总结(代码片段)

1、实验目的与要求(1) 掌握接口定义方法;(2) 掌握实现接口类的定义要求;(3) 掌握实现了接口类的使用要求;(4) 掌握程序回调设计模式;(5) 掌握Comparator接口用法;(6) 掌握对象浅层拷贝与深层拷贝方法;(... 查看详情

201771010135杨蓉庆《面对对象程序设计(java)》第十周学习总结(代码片段)

...与使用;(4) 掌握泛型接口的定义与实现;(5)了解泛型程序设计,理解其用途。一、理论知识泛型类的定义:(1)泛型:也称参数化类型(parameterizedtype),就是在定义类、接口和方法时,通过类型参数指示将要处理的对象型。... 查看详情

201771010135杨蓉庆《面对对象程序设计(java)》第九周学习总结(代码片段)

第7章异常、日志、断言和调试1、实验目的与要求(1)掌握java异常处理技术;(2)了解断言的用法;(3)了解日志的用途;(4)掌握程序基础调试技巧;一、理论知识1、异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执... 查看详情

201771010135杨蓉庆《面对对象程序设计(java)》第七周学习总结(代码片段)

学习目标1、深入理解OO程序设计的特征:继承、多态;2、熟练掌握Java语言中基于类、继承技术构造程序的语法知识;3、利用继承定义类设计程序,能够设计开发含有1个主类、2个以上用户自定义类的应用程序。1、实验目的与要... 查看详情

马昕璐201771010118《面对对象程序设计(java)》第九周学习总结(代码片段)

第一部分:理论知识学习部分异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行。Java把程序运行时可能遇到的错误分为两类:非致命异常:通过某种修正后程序还能继续执行。致命异常:程序遇到了非常严重的... 查看详情

张云飞201771010143《面对对象程序设计(java)》第十五周学习总结(代码片段)

JAR文件 Java程序的打包:程序编译完成后,程序员将.class文件压缩打包为.jar文件后,GUI界面程序就可以直接双击图标运行。 .jar文件(Java归档)既可以包含类文件,也可以包含诸如图像和声音这些其它类型的文件。 JA... 查看详情

面对对象--继承(代码片段)

一:什么是继承:      在opp程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类,父类或者超类      1classCard:#定义了一个父类2def__init__(s... 查看详情

java面对对象三大特征之继承多态(代码片段)

面对对象三大特征继承、多态继承1.继承的概念:2.继承的实现:3.继承的好处与弊端:4.super5.继承中的成员访问特点以及访问修饰符:JAVA中的访问修饰符6.方法重写以及继承的注意事项:多态1.多态的概念2.多态中成员访问特点3.多态的... 查看详情

焦旭超201771010109《面对对象程序设计(java)》第十四周学习总结第十三组(代码片段)

1、实验目的与要求(1)掌握GUI布局管理器用法;(2)掌握各类JavaSwing组件用途及常用API;2、实验内容和步骤实验1: 导入第12章示例程序,测试程序并进行组内讨论。测试程序1l  在elipseIDE中运行教材479页程序12-1,结合运... 查看详情

java面对对象入门-程序块初始化

Java实例初始化程序是在执行构造函数代码之前执行的代码块。每当我们创建一个新对象时,这些初始化程序就会运行。1.实例初始化语法用花括号创建实例初始化程序块。对象初始化语句写在括号内。publicclassDemoClass{//Thisisinitial... 查看详情

java——面对对象

软件出现的目的:*用计算机的语言来描述世界*用计算机解决现实世界的问题面向对象的思想描述面向对象的世界面向对象设计和开发程序的好处:*交流更加流畅*提高设计和开发效率构造方法:构造方法是用来描述对象创建的... 查看详情

201771010135杨蓉庆《面对对象程序设计(java)》第十八周学习总结(代码片段)

...掌握java基本程序结构; (2) 综合掌握java面向对象程序设计特点;(3) 综合掌握java GUI 程序设计结构;(4) 综合掌握java多线程编程模型;(5) 综合编程练习。 2、实验内容和步骤任务1:填写课程课后调查... 查看详情

201771010135杨蓉庆《面对对象程序设计(java)》第十六周学习总结(代码片段)

1、实验目的与要求(1) 掌握线程概念;(2) 掌握线程创建的两种技术;(3) 理解和掌握线程的优先级属性及调度方法;(4) 掌握线程同步的概念及实现技术;一、理论知识?线程的概念 (1)多线程是进程执行过程中... 查看详情

39.c#--面对对象构造函数及构造函数继承使用(代码片段)

//一.新建Person类namespace_39.面对对象构造函数及构造函数继承使用publicclassPerson//字段、属性、方法、构造函数//字段:存储数据//属性:保护字段,对字段的取值和设值进行限定//方法:描述对象的行为//构造函数:初始化对象(给... 查看详情

面对对象编程--类继承(代码片段)

类(Class): 用来描述具有相同的属性和方法的对象的集合。对象,实例:通过类实例化出来的东西属性:类里面的变量方法:类里面的方法实例方法:正常定义的带self函数都是实例方法类方法:  1、不实例化,直接用类名调... 查看详情

c++--面向对象的基本概念(代码片段)

...面对对象的意义在于1.将日常生活中习惯的思维方式引入程序设计中2.将需求中的概念直观的映射到解决方案中3.以模块为中心构建可复用的软件系统4.提高软件产品的可维护性和可扩展性类和对象使面对对象中的两个基本概念类... 查看详情

面向对象知识点(代码片段)

...例定义访问限制面对对象编程(程序思想)?面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低... 查看详情