构造方法

第三周课程总结及实验报告一

雨燕双飞 提交于 2019-11-29 17:03:24
实验一 Java开发环境与简单Java程序 一.实验目的 (1)熟悉JDK开发环境 (2)熟练掌握结构化程序设计方法 二.实验内容 1.打印输出所有的“水仙花数”,所谓“水仙花数“是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个”水仙花数"。 2.编写Java程序,求13-23+33-43+...+973-983+993-1003的值。 3.编写求1!+2!+3!+...+20!。 4.编写Java程序,计算8+88+888+...前10项之和。 5.一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。 6.编写应用程序,输出满足1+2+3+...+n<8888的最大正整数。 7.使用for循环打印下面的图形。 * * * * * * 三.实验过程(由于电脑原因,我的截图格式有问题,转不了格式,所以没有结果截图) 1.打印输出所有的“水仙花数”,所谓“水仙花数“是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个”水仙花数"。 实验代码:public class Hello{ public static void main(String[] args){ int a,b,c,i; for(i=100;i<1000;i++){ a=i/100; b=(i%100)/10; c=i%10; if(a a a+b b b

第三周Java总结&实验总结

荒凉一梦 提交于 2019-11-29 16:56:18
一、第三周学习总结 (1)面向对象的基本概念&程序设计的3个主要特征 1、封装性(getter和setter) 2、继承性 3、多态性 (2)类与对象 类与对象的关系、类的定义、对象的创建及使用、创建多个对象。 (3)封装性 (4)构造方法 (5)匿名对象 (6)this关键字&用处 1、强调本类中的方法。 2、调用本类中的构造方法。 3、表示当前对象。 4、表示类的属性。 (7)static关键字&作用 1、声明属性。 2、声明方法。 来源: https://www.cnblogs.com/chixue/p/11521994.html

第三周课程总结&实验报告一

三世轮回 提交于 2019-11-29 16:53:48
本周学到的知识点 1.类的封装,加上关键词 private 可以将属性变为私有的。 2.私有属性中使用 setter 方法与 getter 方法。 3.构造方法的定义、创建、使用。 4.匿名对象的定义与使用。 4. this 关键词的作用。 (1).使用 this 强调类中的方法。 (2).表示类中的属性。 (3).可以使用 this 调用类中的构造方法(不能循环调用、必须放在首行)。 (4). this 表示当前对象。 static 关键字的作用。 来源: https://www.cnblogs.com/lcbxhda/p/11523625.html

第三周课程总结&实验报告

旧巷老猫 提交于 2019-11-29 16:25:42
实验一 Java开发环境与简单Java程序 一、实验目的 (1) 熟悉JDK开发环境 (2) 熟练掌握结构化程序设计方法 二、实验内容 1. 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。 2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。 3. 编程求1!+2!+3!+…+20!。 4. 编写Java程序,计算8+88+888+…前10项之和。 5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。 6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。 7. 使用for循环打印下面的图形。 三、实验过程 1、 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。 源码: public class Project{ public static void main(String args[]) { int x,y,z; for(int i=0;i<1000;i++) { x=i/100; y=(i%100)/10; z=i%10; if(Math.pow(x, 3)+Math.pow(y, 3)+Math.pow(z, 3)==i){

类加载机制基础

落花浮王杯 提交于 2019-11-29 16:04:37
Java类加载机制的七个阶段 当我们的Java代码编译完成后,会生成对应的 class 文件。接着我们运行 java Demo 命令的时候,我们其实是启动了JVM 虚拟机执行 class 字节码文件的内容。而 JVM 虚拟机执行 class 字节码的过程可以分为七个阶段: 加载、验证、准备、解析、初始化、使用、卸载。 加载 下面是对于加载过程最为官方的描述。 加载阶段是类加载过程的第一个阶段。在这个阶段,JVM 的主要目的是将字节码从各个位置(网络、磁盘等)转化为二进制字节流加载到内存中,接着会为这个类在 JVM 的方法区创建一个对应的 Class 对象,这个 Class 对象就是这个类各种数据的访问入口。 其实加载阶段用一句话来说就是:把代码数据加载到内存中。这个过程对于我们解答这道问题没有直接的关系,但这是类加载机制的一个过程,所以必须要提一下。 验证 当 JVM 加载完 Class 字节码文件并在方法区创建对应的 Class 对象之后,JVM 便会启动对该字节码流的校验,只有符合 JVM 字节码规范的文件才能被 JVM 正确执行。这个校验过程大致可以分为下面几个类型: JVM规范校验。 JVM 会对字节流进行文件格式校验,判断其是否符合 JVM 规范,是否能被当前版本的虚拟机处理。例如:文件是否是以 0x cafe bene 开头,主次版本号是否在当前虚拟机处理范围之内等。

Java接口

折月煮酒 提交于 2019-11-29 14:48:17
关于Java以下描述正确的有( ) 正确答案: A C A、native关键字表名修饰的方法是由其它非Java语言编写的 B、能够出现在import语句前的只有注释语句 C、接口中定义的方法默认是public和static的 D、构造方法只能被修饰为public或者default 解答: A:native是由调用本地方法库(如操作系统底层函数),可以由C,C++实现,A正确 B:import是用于导包语句,其前面可以出现package,用来声明包的,B错误 C:接口方法的修饰符可以是:public,abstract,default,static(后两者需要有{}),C正确 D:构造方法可以用private,protected,default,private,D错误 来源: https://www.cnblogs.com/yuyu97513/p/11519878.html

JAVA奇技淫巧简化代码之lombok

荒凉一梦 提交于 2019-11-29 14:21:04
背景 最近在做一个小功能,又不想在原有体态臃肿的项目中追加,为了调试方便并且可以快速开发就采用了springboot。由于使用了JPA,建了几个类,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashcode、toString方法,那么Java中有没有一种方式能够避免这种重复的劳动呢?答案是有,想着前几天听说有一款简化神奇Lombok,特此拿来玩玩记录一下。 简介 Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。 官方地址: https://projectlombok.org/ github地址: https://github.com/rzwitserloot/lombok Lombok注解 下面对Lombok的简单使用方法做一下总结: @NotNull 作用在方法参数上的注解,用于自动生成空值参数检查。 @Cleanup 作用在局部变量上,在作用域结束时会自动调用close方法释放资源。 @Getter 作用在字段上,会自动生成字段的Getter;作用在类上,会自动生成该类所有非静态字段的Getter,还能控制Getter的访问级别 @Setter 基本同上。 @ToString 类注解,自动生成类的toString方法,可以做一些定制

Java自学-接口与继承 super

烂漫一生 提交于 2019-11-29 13:58:32
Java的super关键字 步骤 1 : 准备一个显式提供无参构造方法的父类 准备显式提供无参构造方法的父类 在实例化Hero对象的时候,其构造方法会打印 “Hero的构造方法 " package charactor; import property.Item; public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 public void useItem(Item i){ System.out.println("hero use item"); i.effect(); } public Hero(){ System.out.println("Hero的构造方法 "); } public static void main(String[] args) { new Hero(); } } 步骤 2 : 实例化子类,父类的构造方法一定会被调用 实例化一个ADHero(), 其构造方法会被调用 其父类的构造方法也会被调用 并且是父类构造方法先调用 子类构造方法会默认调用父类的 无参的构造方法 package charactor; public class ADHero extends Hero implements AD{ @Override public

网络通信协议、UDP通信、TCP通信

℡╲_俬逩灬. 提交于 2019-11-29 13:58:28
网络通信协议 网络通信协议有很多种,目前应用最广泛的是 TCP/IP 协议 ,它是一个 包括 TCP 协议 和 IP 协议 , UDP 协议 和其它一些协议的协议组。 IP 地址和端口号 目前, IP 地址 广泛使用的版本是 IPv4 ,它是由 4 个字节大小的二进制数来表示,如: 00001010000000000000000000000001 。 通常会将 IP 地址写成十进制的形式,每个字节用一个十进制数字 (0-255) 表示,数字间用符号“ . ”分开,如 “ 192.168.1.100 ”。 通过 IP 地址可以连接到指定计算机,但如果想访问目标计算机中的某个应用程序,还需要指定 端口号 。 在计算机中,不同的应用程序是通过端口号区分的。端口号是用两个字节( 16 位的二进制数)表示的,它的取值范围是 0~65535,其中,0~1023 之间的端口号用于一些知名的网络服务和应用 , 用户的普通应用程序需要使用 1024 以上的端口号 ,从而避免端口号被另外一个应用或服务所占用。 InetAddress类 代码演示 public class Example01 { public static void main(String[] args) throws Exception { InetAddress local = InetAddress.getLocalHost();

java面试题1

ぃ、小莉子 提交于 2019-11-29 13:19:29
1. 面向对象和面向过程的区别 面向过程 优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点: 没有面向对象易维护、易复用、易扩展 面向对象 优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 缺点: 性能比面向过程低 2. Java 语言有哪些特点 简单易学; 面向对象(封装,继承,多态); 平台无关性( Java 虚拟机实现平台无关性); 可靠性; 安全性; 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持); 支持网络编程并且很方便( Java 语言诞生本身就是为简化网络编程设计的,因此 Java 语言不仅支持网络编程而且很方便); 编译与解释并存; 3. 什么是 JDK 什么是 JRE 什么是 JVM 三者之间的联系与区别 这几个是Java中很基本很基本的东西,但是我相信一定还有很多人搞不清楚!为什么呢?因为我们大多数时候在使用现成的编译工具以及环境的时候,并没有去考虑这些东西。 JDK: JDK(Java Development Kit)顾名思义它是给开发者提供的开发工具箱,是给程序开发者用的