20175217吴一凡

一、IDEA学生免费版申请后续

  • 收到这个邮件,就说明你申请成功了,点这里进去就行了

  • 点击接受

  • 在下一个界面登录你之前注册的账号绑定许可证就行了,重新登录你的账号就有了一年的许可证





二、答疑中发现的问题

  • 包含多个源文件的java程序必须在源文件所在目录中进行编译执行,否则会出现找不到类的问题,如下图:

三、第四章学习总结

1.编程语言的几个发展阶段——4.1知识

  • 面向机器语言:

    机器语言:针对不同机器编写诸如1010101这样的指令序列

    汇编语言:用简单的记忆符号来代替二进制指令,但汇编语言仍是面向机器语言,需要针对不同机器编写不同的代码

    习惯上称机器语言、汇编语言为低级语言
  • 面向过程语言

    把代码组成叫做过程或函数的块,每个块的目标是完成某个任务,使用这些语言编写代码指令时,不必再考虑机器指令的细节,只要按照某种具体语言的语法去编写源文件

    C语言

    Fortran语言
  • 面向对象语言

    最核心的内容是“对象”,一切围绕着对象

    需要完成某种任务时,首先要想到,谁去完成任务,即哪个对象去完成任务:提到数据,首先想到这个数据是哪个对象的。

    特征:封装性、继承、多态

2.类——4.2知识

  • 类是java语言中最重要的“数据类型”,类声明的变量称作对象变量,简称对象
class 类名 {       //类的声明
类体的内容 //类体
}
  • 类声明:

    1.如果类名使用拉丁字母,首字母大写

    2.类名最好容易识别、见名知意。
  • 类体

    1.描述对象的属性和行为:

    变量、方法

    2.下面的Lader类,声明变量部分声明了4个float型变量:above、bottom、height和area;定义了两个方法:float computerArea()和void setHeight(float h)
class Lader {
float above;
float bottom;
float height;
float area;
float computerArea() {
area=(above+bottom)*height/2.0f;
return area;
}
void setHeight(float h) {
height = h;
}
}
  • 成员变量

    1.在整个类内都有效,其有效性与它在类体中书写的先后位置无关

    2.编程风格

    (1)一行只声明一个变量

    (2)首单词首字母小写,其他单词首字母大写

    (3)变量名见名知意,不要用n1、m1、1与l不相邻
  • 局部变量

    (1)只在方法、循环体、复合语句内有效

    (2)没有默认值,旭保证其有具体的值
  • 区别成员变量与局部变量

    如果局部变量名与成员变量相同,则成员变量会隐藏,如果想使用隐藏的成员变量,需要用this.变量名
  • 注意

    对成员变量的操作只能在方法体中

3.构造方法与对象的创建——4.3知识

  • 构造方法

    1.是类中的特殊方法,创建对象时会调用构造方法,方法名与类名相同,没有类型,可有多个构造方法,但参数不同(个数、类型)

    2.如果无构造方法,系统会默认一个空的构造方法
  • 创建对象
类的名字 对象名字;
对象名字=new 类的名字();

4.类与程序的基本结构——4.4知识

  • java应用程序由若干个类组成,这些类可以在一个源文件中,也可以分散在若干个源文件中
  • 将源文件保存在同一个文件夹中,分别编译通过
  • 尽管一个java源文件中可以有多个类,但仍提倡在一个源文件中只编写一个类

5.参数传值——4.5知识

  • 可变参数
public int getSum(int... x) {//x是可变参数的参数代表
int sum=0;
for(int i=0;i<x.length;i++) {
sum=sum+x[i];
}
return sum;
}

getSum(203,178,56,2098)返回203、178、56、2098的求和结果

可变参数for语句的特殊用法:

for(声明的变量:参数代表){
...
}

eg:

for(int i:x){
sum=sum+i;
}

6.对象的组合——4.6知识

  • 特点

    (1)当前对象对所包含的对象的方法的细节一无所知

    (2)当前对象随时可以更换所包含的对象

    (2)改变引用对象的值,包含对象的值也改变

    (3)改变所包含对象的引用不改变已传递过去的引用

    如下图:



    利用组合可模拟手机和SIM卡的组合关系,如下图:

7.实例成员与类成员——4.7知识

1.用关键字static给予修饰的称作类变量,否则称作实例变量

2.区别:

(1)不同对象的实例变量互不相同

(2)所有对象共享类变量

(3)通过类名直接访问类变量

如下图所示:



3.实例方法和类方法

(1)类方法有static,实例方法没有

(2)通过类名调用类方法

(3)类方法不能操作实例变量

8.方法重载——4.8知识

1.重载满足的条件:

  • 参数的个数不同
  • 参数个数相同,类型不同

    如下图:

9.this关键字——4.9知识

  • 在构造方法中的this关键字代表所创建的对象,如下图:

  • 当this关键字出现在实例方法中时,表示调用该方法的当前对象

    (1)实例方法中操作成员变量
this.成员变量;

(2)实例方法中操作类变量

类名.类变量
  • 可省略,但实例成员变量名与局部变量名重复时就不可省略

10.包——4.10知识

  • 包语句
package 包名;
package sun.com.cn; //sun\com\cn
  • 有包名的类的存储目录:编译生成的字节码必须存在包名目录下,源文件无所谓,如:
package tom.jiafei;

应将编译成成的字节码文件保存在目录tom\jiafei

  • 运行有包名的主类

    要到tom\jiafei的上一层目录中运行主类,假设tom\jiafei的上一层目录是1000,则运行格式:
java tom.jiafei.主类名;

具体例子如下图:

11.import语句——4.11知识

  • 引入类库中的类,必须使用import语句
  • import语句必须写在packag语句与源文件中类的定义之间
import java.util.*;     //引入java.util中所有的类
import java.util.Date; //引入java.util包中的Date类

如下图引入Date类:

  • 引入自定义包中的类
import sohu.com.*;

  • 要在包的上一层目录进行编译和运行
javac  xxx/xxx/主类名.java
java xxx.xxx.主类名

如下图:

12.访问权限——4.12知识

  • private修饰符(私有变量、私有方法)

    该修饰符修饰的方法、变量不能直接访问(面向对象的编程提倡通过方法来操作变量)
  • public修饰符(共有变量、方法)

    该修饰符修饰的变量、方法可随意访问
  • 无修饰符(友好变量、方法)

    在一个包中可以访问,不在一个包不可访问
  • protected修饰符(受保护的变量、方法)

    同“友好”(区别在子类)
  • public类与友好类

    public修饰的是public类,无修饰符的是友好类,public类可任意创建对象,而友好类只能在同一包中创建对象。

四、脚本截图(一周学习)



五、学习总结

  • 第四章出现了许多新的C语言中没有的东西,也是体现其面向对象编程特点的东西,虽然寒假提前看过一点,但学起来还是有一些吃力的,学到周末才基本把所有东西搞懂,嗯,下周继续加油!
  • 码云链接

《JAVA程序设计》_第三周学习总结的更多相关文章

  1. 20145213《Java程序设计》第三周学习总结

    20145213<Java程序设计>第三周学习总结 教材学习内容总结 正所谓距离产生美,上周我还倾心于Java表面的基础语法.其简单的流程结构,屈指可数的基本类型分类,早已烂熟于心的运算符 ...

  2. 20145330《Java程序设计》第三周学习总结

    20145330 <Java程序设计>第三周学习总结 第三周知识的难度已经逐步上升,并且一周学习两章学习压力也逐渐加大,需要更高效率的来完成学习内容,合理安排时间. 类与对象 对象(Obj ...

  3. 20145337《Java程序设计》第三周学习总结

    20145337 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象 类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例.我觉得在视频中对类与对象关系的描 ...

  4. 20145218 《Java程序设计》第三周学习总结

    20145218 <Java程序设计>第三周学习总结 教材学习内容总结 定义类 编写程序要产生对象就要先定义类.类是对象的设计图,对象是类的实例.类定义时使用class关键词,建立实例时, ...

  5. 《Java程序设计》第三周学习总结

    20145224-陈颢文 <Java程序设计>第三周学习总结 教材学习内容总结 一.定义类: ·类定义时使用class关键字,要对类中变量(值域成员/对象数据成员)行类型声明. class ...

  6. 20155304 2016-2017-2 《Java程序设计》第三周学习总结

    20155304 2016-2017-2 <Java程序设计>第三周学习总结 教材学习内容总结 第四章 类与对象 定义: 对象(Object):存在的具体实体,具有明确的状态和行为. 类( ...

  7. 201521123038 《Java程序设计》 第三周学习总结

    201521123038 <Java程序设计> 第三周学习总结 1. 本周学习总结 附大图链接 http://naotu.baidu.com/file/5774caa2be710afbc0 ...

  8. 201521123072《java程序设计》第三周学习总结

    201521123072<java程序设计>第三周学习总结 标签: java学习 1. 本周学习总结 2. 书面作业 1,代码阅读 public class Test1 { private ...

  9. 20175209 《Java程序设计》第三周学习总结

    20175209 <Java程序设计>第三周学习总结 教材学习内容总结 第四章知识点 1.发展阶段: 面向机器——面向过程——面向对象(特点:封装性,继承性,多态性) 2.类: 类 声明变 ...

  10. 20175204 张湲祯 2018-2019-2《Java程序设计》第三周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第三周学习总结 教材学习内容总结 -第四章类与对象要点: -面向对象语言三个特性:封装性:继承:多态: -类:1.类是组 ...

随机推荐

  1. JAVA实现接口监控报警系统

    公司一内部系统需要添加一个接口和定时任务监控机制,针对了系统出现的定时任务没有执行,定时任务执行异常出错,对外传送的数据接口异常出错,对内的系统数据互传异常出错等问题进行设计,目的是为了能够让用户没发 ...

  2. 『Asp.Net 组件』Asp.Net 服务器组件 的开发优势和劣势

    在写<Asp.Net 服务器组件系列文档>之前,笔者不才,揣测微软战略用意: 微软利益诉求莫过于 微软产品和技术的市场份额: 因此,微软战略之一莫过于将 所有开发人员 团聚在 微软周围,以 ...

  3. 从0打卡leetcode之day 3 -- 最大子序列和

    前言 就有要把leetcode的题刷完,每天一道题,每天进步一点点 从零打卡leetcode之day 3 题目描述: 给定一个int类型的数组,求最大子序列的和. 也就是说,从这个数组中截取一个子数组 ...

  4. Chapter 4 Invitations——21

    "Dad?" I asked when he was almost done. “爸?”我当他快吃完的时候问道. "Yeah, Bella?" “怎么了,Bel ...

  5. 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践

    1. 概述 数据服务(https://ds-cn-shanghai.data.aliyun.com)  是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟 ...

  6. Spring源码情操陶冶#task:executor解析器

    承接Spring源码情操陶冶-自定义节点的解析.线程池是jdk的一个很重要的概念,在很多的场景都会应用到,多用于处理多任务的并发处理,此处借由spring整合jdk的cocurrent包的方式来进行深 ...

  7. Linux文件权限与属性详解 之 SUID、SGID & SBIT

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

  8. Docker日志管理--docker部署安装ELK (十一)--技术流ken

    Docker logs 对于一个运行的容器,Docker 会将日志发送到 容器的 标准输出设备(STDOUT)和标准错误设备(STDERR),STDOUT 和 STDERR 实际上就是容器的控制台终端 ...

  9. Linux常用命令详解(week1_day1_1)--技术流ken

    本节内容 基础命令:lsmanpwdcdmkdirechotouchcpmvrmrmdircatmorelessheadtailclearpoweroffreboot进阶命令(下一章节):aliasu ...

  10. org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)

    [错误原因:]maven的配置文件不是最新的 [解决办法:]依次点击help ->Install New Software -> add ->https://otto.takari. ...