java 面向对象练习1

JavaOOP面试题48题(含答案)(二) 51、接口有什么特点? 接口中声明全是public static final修饰的常量 接口中所有方法都是抽象方法 接口是没有构造方法的 接口也不能直接实例化 接口可以多继承 52、抽象类和接口的区别? 抽象类: 抽象方法,只有行为的概念,没有具体的行为实现。使用abstract关键字修饰,没有方法体。子类必须重写这些抽象方法。 包含抽象方法的类,一定是抽象类。 抽象类只能被继承,一个类只能继承... 阅读详情

/*

  • java面向对象
  • 三条主线
  • 1,java类以及类的成员
  • 类的成员:属性,方法,构造器,代码块,内部类
  • 2,面向对象的三大特征
  • 封装性(Encapsulation),多态性(Polymorphism),继承性(Inheritance),(抽象性abstractness)
  • 3,其他关键字的使用
  • this,super,static,final,abstract,interface,package,import
  • 等
    */

/*

  • 面向对象(OOP Object Oriented Programming)与面向过程(POP Procedure Oriented Programming)比较
  • 1,两者都是一种思想,面向对象是相对于面向过程而言,面向过程,强调功能行为,以函数为最小单位,考虑怎么做。
  • 面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑由谁来做。
  • 2,面向对象更强调运用人类日常思维逻辑所采用思维方法与原则,例如抽象,分类,继承,聚合,多态
  • 举例子:实现“人把水果装入冰箱”。
  • 一,面向过程:
  • 1,打开冰箱门
  • 2,拿起水果,放入冰箱
  • 3,关闭冰箱门
  • 二,面向对象
  • 1,对象:人—步骤1:打开(对象1:冰箱)门,:步骤2:拿起(对象2:水果),步骤3:关闭(对象1:冰箱)门
  • 2,对象1:冰箱—功能1:可以打开,功能2:可以关闭
  • 3,对象2:水果—功能1:可以被拿起
  • 实例化对象后,对相关对象调用相应功能实现设计目的。
  • 面向对象的设计思想
  • 一.程序员由面向过程中的执行者转为面向对象的指挥者
  • 二,面向对象分析问题的步骤:
  • 1,根据问题需要,选择问题针对的现实世界的实体。
  • 2,从实体寻找解决问题相关的属性和功能,这些属性和功能演变成概念世界中的类
  • 3,将抽象的实体用计算机语言描述,形成计算机世界中类的定义,即借助某种程序语言,
  • 把类构造成计算机可以识别和处理的数据结构
  • 4,将类实例化成计算机世界中的对象,对象是计算机世界中解决问题的最终工具
  • 例子
  • 售票员统计车票的金额
  • 售票员与车票可以是类
  • 统计动作是售票员的方法,金额是车票里的一个数据
  • 一般名词可以创建类,动词为类中的方法
    */

/*

  • 面向对象的两个要素:
  • 类(class)和对象(Object)是面向对象的核心概念,万事万物皆是对象
  • 1类是对一类事物的描述,是抽象的概念上的定义
  • 2对象是实际存在的该类事物的个体,因而也称为实例(Instance).
  • 抽象的人=类,具体的某个人=对象
  • 面向对象的程序设计重点是对类的设计
  • 而类的设计就是类中成员的设计,对象具有的功能取决于类的设计

*/

/*

  • java代码世界由各种功能不同的类组成
  • 类中常见的成员:
  • 1,属性Field(翻译为域或字段)=对应类中的成员变量
  • 2,行为(功能)=对应类中成员的方法Method(函数)
  • 创建类的对象 = 类的实例化 = 实例化类
  • 对应现实世界人类有年龄身高等属性,有跑步说话等功能
  • 类的语法格式
  • 修饰符 class 类名{ //考虑修饰符(是否需要),类名(是否重名,是否关键字,是否清晰形象)
  • 属性声明; //(修饰符,属性类型,属性名,初始化值)
  • 方法声明; //(修饰符,返回值类型,方法名,形参等)
  • }
  • 说明:修饰符public表示可以被任意访问
  • 修饰符private表示只能在类中被访问
  • 类的主体需用{}包起来
  • 例子
  • public class Person1{
  • private int age;//声明一个私有变量age
  • public void showAge(int i){//声明方法showAge()
  •  age = i;
    
  • }
  • }

*/

/*

  • 类和对象的使用(面向对象的实现方式)
  • 1,创建类,设计类的成员
  • 2,创建类的对象
  • 3,通过“对象.属性”或“对象.方法”调用对象的相关功能
  • 注意:如果创建了一个类的多个对象,那么每一个对象都有独立的一套类的属性(非static情况下)
  • 在内存中有独立的空间,属性的初始化值与一维数组的初始化值一样
  • 如果修改一个对象的属性不影响另外一个对象的属性的值
    */

/*

  • 对象的创建和使用:内存解析
  • 1堆(Heap),此内存区域的唯一目的就是存放对象实例,几乎所有的的对象实例都在这里分配内存,
  • 在java虚拟机中的描述是:所有的对象实例及数组都要在堆上分配
  • 2,通常所说的栈(stack),是指虚拟机栈,虚拟机栈用于储存局部变量等,局部变量表存放
  • 了编译器可知长度的各种基本数据类型(boolean,byte,char,short,long,float,double),
  • 对象引用(reference类型,它不等同与对象本身,而是对象在堆内的首存地址)。方法执行完后,自动释放
  • 3,方法区(Method Area),用于储存已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据

*/

package com.atguigu.contact;

public class Object1 {
	public static void main(String[] args) {//测试类中创建main方法作为入口
		Person people = new Person();//实例化Person类
		//调用属性格式 :对象.属性
		people.name = "john";
		people.age = 18;
		people.isMarried = false;
		people.gender = '男';//调用属性赋值
		//调用方法格式 :对象.方法
		people.eat();
		people.talk();
		people.sleep();
		people.work();
		System.out.println(people.display(1));//调用方法输出
		Person1 people1 = new Person1();
		//调用构造器格式 :对象.构造器(参数)
		people1.Person("Tom",30, false);//调用构造器赋值
		System.out.println(people1.display(2));//赋值后调用方法输出
	    //新创建一个对象,看属性的初始化值
		Person people2 = new Person();//方法内,局部变量
		System.out.println(people2.name);//null
		System.out.println(people2.age);//0
		System.out.println(people2.gender);//空值
		System.out.println(people2.isMarried);//false
		//
		Person people3 = new Person();
		people3 = people;
		people3.age = 10;
		System.out.println(people3.name);//输出john
		System.out.println(people.age);//输出10,与数组类似,直接赋值与复制不同
		//相当于将people 的地址赋值给people3,指向的是同一个内存空间。

				
}
}

class Person{
	String name;
	int age;
	char gender;
	boolean isMarried;//属性声明部分,成员变量
	public void eat() {//没有返回值需加 void
		System.out.println(name + "吃了一顿饭");
	}
	public void talk() {
		System.out.println(name + "唠了一会嗑");
	}
	public void sleep() {
		System.out.println(name + "睡了一会觉");
	}
	public void work() {
		System.out.println(name + "干了一会活");
	}
	public String display(int index) {//可以在括号里定义变量,在调用时赋值使用,形参,局部变量		
		return (index + "号人物名字是:" + name + "  年龄是:" + age + "  性别是:" + gender + "  是否已婚:" + isMarried);
	}//方法声明部分
}

class Person1{
	//属性
	String name;
	boolean isMarried;
	int age;
	//构造器
	public void Person() {}
	public void Person(String n,int num,boolean mark) {//形参,局部变量
		name = n;
		isMarried = mark;
		age = num;//构造器内部变量,局部变量
	
	}
	//方法
	public void walk () {
		System.out.println(name + "向前走了一段路");
	}
	public String display(int index) {
		return index + "号人物名字是:" + name  + "  年龄是:" + age + "  是否结婚" + isMarried;
	}
	//代码块
	{
		name = "hank";
		isMarried = true;
		age = 20;//代码块内,局部变量
	}
	//内部类
	class pet{
		String name;
		float weight;
	} 	
}
java_day7练习作业(面向对象下-1) 练习 练习1(继承) 1.1.训练描述: 一、分析以下需求,并用代码实现: 1.定义Person类 属性:姓名name、年龄age; 方法:空参构造方法、满参构造方法、setXxx()、getXxx()、工作work。 2.根据人类,派生一个老师类Teacher 重写工作方法(老师的工作是要好好讲课)。 3.根据人类,派生一个学生类Student 重写工作方法(学生... 阅读详情

相关推荐

Java面向对象程序设计综合练习1(程序填空题)

Java面向对象程序设计综合练习1

大家一起入坑 2840

08.22面向对象的知识点(1)

面向对象知识点(1)

qq_57411925的博客 276

LaTeX小白必看:TeX Live+TeXstudio保姆级安装教程(附清华镜像加速)

本文为LaTeX新手提供了一份详尽的TeX Live和TeXstudio安装指南。通过清华大学镜像站实现高速下载,并详细讲解了从下载、定制化安装到配置优化的每一步,帮助用户快速搭建稳定高效的本地LaTeX写作环境,轻松处理学术文档排版。

weixin_29214559的博客 411

类和对象(1)

自定义标题类的引入类的访问限定符封装类的实例化this 指针 相对于C语言的面向过程来说,C++则是一门面向对象的语言。他的关注点是对象,把一件事情分成不同的对象,利用对象之间的交互来实现用户希望的功能。 类的引入 class className { public: //类中的公有函数和变量 private: //类中私有的函数和变量 };//和结构体类似,有一个分号 ...

duchenlong的博客 280

【操作系统】 Operation System 第二章:操作系统基础操作

2.1 操作系统的启动 (1)CPU, I/O, 内存通过总线连接。 (2)DISK:存放OS; BIOS:基本I/O处理系统( basic I/O system); Bootloader: 加载OS到内存中。 (3)当电脑通电时,段寄存器CS和指令寄存器IP能够确定一个内存地址,例如CS:IP = 0xf000:fff0. (4)POST(加电自检),寻找显卡和执行BIOS。(显示器,键盘…是否...

iwanderu的博客 1万+

【算力网络】算力知识

尽管算力这个词在近年来很“火”,但其背后的含义,却很少有人真正了解

qq_42809645的博客 1万+

C++基础(和类有关2)对象的定义

一 对象的定义 定义一个类时,也就是定义了一个具体的数据类型。若要使用类, 需要将类实例化,即定义该类的对象。 1.先定义类类型再定义对象 有两种定义对象的形式: ①将类的名字直接用作类型名: 类名 对象名列表 ②指定关键字class或struct,后面跟着类的名字: c

烦的博客 383

手把手教你用Kokoro-82M-v1.1-zh搭建本地TTS服务(含WebSocket接口)

本文详细介绍了如何使用Kokoro-82M-v1.1-zh模型搭建本地TTS服务,包括环境配置、模型部署、WebSocket接口实现及性能优化。通过实战指南,开发者可以快速掌握本地部署TTS系统的关键技术,提升语音交互应用的开发效率。

weixin_30776273的博客 183

《Python 3 面向对象》第1,2,3章

第1章:面向对象设计 第2章:Python对象: __init__ 方法和 __new__ 方法: __init__是在类实例创建之后调用,而 __new__方法正是创建这个类实例的方法。 class Person(object): """Silly Person""" def __new__(cls): # 返回Person 的一个实例 print...

mike_jun的博客 767

5分钟搞定!用Cursor和.NET 9.0快速搭建串口通讯上位机(附VS Code插件配置)

本文分享了如何利用Cursor AI编程助手与.NET 9.0,在5分钟内快速构建一个功能完整的串口通讯上位机程序。通过自然语言描述需求,AI自动生成WinForms界面和核心代码,极大提升了硬件调试工具的定制开发效率。文章详细介绍了环境配置、AI协作编码、功能实现与调试的全过程。

weixin_28366353的博客 274

AI 大模型应用数据中心的数据清洗工具

1. 背景介绍 在人工智能大模型应用的浪潮中,数据清洗作为数据预处理的重要环节,对于提升模型性能和可靠性具有至关重要的作用。数据中心作为人工智能模型的运行环境,面临着海量数据流和多样化的数据类型,如何高效、准确地进行数据清洗,成为应用大模型的关键问题之一。本文将详细介绍AI大模型应用数据中心的数据清洗工具,包括核心概念、算法原理、具体操作步骤、应用场

SuperAGI2025 1803

Java面向对象(1-3)综合练习

Java面向对象(1-3)综合练习

datagao的博客 519

AI翻译工具自动翻译日语视频生成srt中文字幕,支持离线轻松生成任意日语视频字幕!可选择支持显卡模式和cpu模式低显存也能用

【AI离线字幕神器:日语视频一键转中文字幕】推荐一款基于Faster-Whisper的本地化字幕工具,可离线生成日语视频的中文字幕(.srt格式),支持CPU/GPU加速处理。实测1小时视频最快4-5分钟完成翻译,无需联网保护隐私。操作简单只需拖拽文件,支持批量处理音频(mp3/wav)和视频(mp4/mkv)文件,还能自定义输出格式和参数调整。特别适合需要观看无字幕日语资料的用户,堪称技术宅必备神器。下载地址附后,包含详细使用教程和参数配置说明。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1万+

1.Java面向对象练习

1. Java面向对象练习 一、单选 B 有关Java中的类和对象,以下说法错误的是 A. 同一个类的所有对象都拥有相同的特征和行为 B. 类和对象一样,只是说法不同 C. 对象是具有属性和行为的实体 D. 类规定了对象拥有的特征和行为 A 在java中,以下程序的运行结果是 A. 输出:null B. 正常运行,但不会输出任何内容 C. 编译出错,不能运行 D. 能运行,但运行时会出现异常 D 下面代码运行的正确结果是 A. 编译错误,无法正常运行 B. 编译正确,但运行时产生错.

CoderJoana的博客 253

Python爬虫实战:手把手教你园林植物分类全维度字典自动化采集实战!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 388

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java面向对象练习题(1)

一、题目描述        运用面向对象的抽象和封装理论对数学中的复数进行抽象,类名为公有的Complex,该类对象应该有双精度类型的实部和虚部成员,应提供至少2个公有构造方法和相应的get方法和set方法,还应该有公有的equals方法和toString方法,应提供用于加减乘除(add()、sub()、muti()、div())计算的成员方法和类方法。二、思路1.因为需要运用封装的思想,所以所有...

LyncDwight的博客 3123

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Educoder —Java面向对象 - 封装、继承和多态的综合练习(1)

通关任务1: 任务描述 本关任务:按要求编写一个Java应用程序,巩固Java面向对象知识。 相关知识 为了完成本关任务,我们回顾一下前面所学知识:1.面向对象思想 ;2.封装;3.继承;4.构造函数;5.super()和this()。 面向对象思想 构造器:new就是一个构造器,作用是:①分配空间;②赋初始值(避免错误,简化输入); new Object(Parameters)构造器调用构造函数,传参为了赋初始值; 对象的基本元素是:属性和方法 类成员(属性和方法)。属

陈陈不like的博客 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JAVA面向对象——对象数组练习题(1)

给三个关于面向对象数组问题进行了代码整理,如有需要,还请各位自行解读

qq_45580875的博客 834

java 面向对象练习 1

1 public class Person { public String name; public int age; public String sex; public void study(){ System.out.println("studying"); } public void showAge() { System.out.println("age:"+age); } public int

cbdA_ZAI的博客 189

Java基础复习:面向对象练习1

练习:用面向对象的思想编程判断一个点(Point )和圆(Cricle)的关系 class Point{ private double x; private double y; public Point(double x, double y) { this.x = x; this.y = y; } public double getX() { return x; }

Well's Column 778

java面向对象 练习题1

练习1: 要求完成一个系统的登录程序,通过初始化参数输入用户名和MIME,假设

lzl_csdn的专栏 1068

java面向对象一些基本练习题1

编写一个三角形类,要求有一个静态方法判断三个整数能否构成三角形;有三个整型私有属性;有属性公有get和set方法;有求三角形面积的方法,返回类型是double型;有求三角形周长的方法,返回类型为double型;有无参数的构造方法;有有参数的构造方法。编写另一个类,类中main方法中创建一个三角形对象,输出该对象的面积和周长。 import java.util.Scanner; public c...

Carolin_Carloin的博客 803

Java练习——面向对象(1)

1.创建一个Test类,包含有一个public权限的int型成员变量与一个char类型的成员变量,观察在main方法中的初始值。 class Test{public int i;public char c;}public class Test3_25 {public static void main(String[] args){Test test = new Test();System.out....

qq_40409115的博客 269

java基础~面向对象练习(1)

java基础~面向对象(1)练习 public class Person { String name; int age; /** * sex:1 表明是男性 * sex:0 表明是女性 */ int sex; public void study(){ System.out.println("studying"); } public void showAge(){ System.out.println("age:" + ..

weixin_48035827的博客 184

1.Java面向对象第一章类和对象练习题

int num;"小了":"大了");i>=0;i++) {System.out.println("猜测成功");break;运行:1小了50小了80小了111大了101大了100猜测成功setSpeed();speedUp();System.out.println("初始速度:"+speed);System.out.println("体积:"+size);

QAZ412803的博客 768

JAVA面向对象5.1(多态性的练习)

多态性例1 练习1: 1.若子类重写了父类方法,就意味着子类里定义的方法彻底覆盖了父类里的同名方法,系统将不可能把父类里的方法转移到子类中:编译看左边,运行看右边。 2.对于实例变量则不存在这样的现象,即使子类里定义了与父类完全相同的实例变量,这个实例变量依然不可能覆盖父类中定义的实例变量:编译运行都看左边。 class Base { int count = 10; public void display() { System.out.println(this.count); } } class

途中的博客 378
上一篇: java 数组练习3
下一篇: java 面向对象练习2
wisdomcodeinside
博客等级 码龄7年 29粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值