教材学习内容总结

编程语言发展的几个阶段

  • 面向机器语言
  • 面向过程语言
  • 面向对象语言
封装性
继承性
多态性

类是Java程序的基本要素,一个Java应用程序就是由若干个类所构成的。

类是Java语言中最基本的“数据类型”,类封装这数据和对数据的操作。

类声明的变量被称作对象变量,简称变量。

  • 类声明 (public) class PeopleChina
  • 类体:变量声明(属性)+方法(行为)

(1)成员变量:变量声明部分声明的变量,有效范围整个类和书写位置无关。

(2)方法:定义方法

方法体:局部变量和语句构成

参数在方法内有用

方法体内声明的是局部变量,只在方法内有效与书写位置有关

局部变量与成员变量同名:成员变量被隐藏暂时失效。

局部变量没有默认值。

构造方法与对象的创建

构造方法的名字和类名一样,没有类型

(1)默认的构造方法,如果不定义构造方法,系统提供默认的构造方法。

(2)自定义构造方法,自定义的多个构造方法必须参数不同,个数不同,或对应的某个参数类型不同。
创建变量

(1)声明对象
类的名字 对象名字

(2)为声明的对象分配变量。

用new运算符号和构造方法

使用对象

避免使用空对象,不要让空对象去访问变量或方法

对象的引用和实体
对象本身存放着引用,自己可以操作分配自己的变量,调用类提供的方法分配给对象的变量称作对象的实体

两个类型相同的对象,如果二者的引用相同,那么二者就具有完全相同的实体。

类与程序的基本结构

将应用程序涉及的Java源文件保存在相同的目录下,分别编译、运行主类

参数传值

传值机制:方法中参数变量的值是调用者制定的值的拷贝

基本数据类型参数的传值:向该参数传递的值得级别不可以高于该参数的级别

引用类型参数的传值:类型相同两个数组,一旦引用相同,就有一样的单元,一样的实体。

可变参数:在声明方法时不给出参数列表中从某项开始直至最后一项的名字和个数。

对象的组合

组合和复用:“黑盒”复用,当前对象随时可以更换所包含的内容,属于弱耦合关系。

实例成员与类成员

实例变量和类变量的声明:static 修饰的是类变量,没有static修饰的是实例变量。

实例变量和类变量的区别:

  • 不同对象的实例变量互不相同
  • 所有对象共享类变量
  • 通过类名直接访问类变量,实例变量不能用类名访问,只能用对象访问

实例方法和类方法的定义:static区分

实例方法和类方法的区别:

  • 对象调用实例方法,只能对象来调用,实例方法可以操作实例成类变量。
  • 类名调用类方法,对象也能调用,类方法只能操作类变量
  • 设计类方法的原则:算法不需要操作成员变量,就可以考虑将这样的算法写成类方法。

方法重载

一个类中可以有多个方法具有相同的名字,但这些方法的参数必须相同

避免重载出现歧义:重载方法之间必须保证相互的参数不同。

this关键字

this可以出现在实例方法和构造方法中,但不可以出现在类方法中

在构造方法中使用this:代表使用该构造方法所创建的对象

在实例方法中使用this:只能通过对象来调用,代表正在调用该方法的对象。

包语句: package

有包名的类的存储目录:例:package tom.package ---->c:\1000\tom\jiafei

运行有包名的主类:例:java tom.jiafei.主类名

访问权限

访问权限指对象是否可以通过“.”运算符来操作自己的变量或通过“.”运算符调用类中的方法。

私有变量和私有方法:用关键字private修饰,如果类中的某个成员是私有类变量或方法,那么在另外一个类中,不能通过此类名来操作这个私有类变量或类方法。

共有变量和共有方法:public修饰,如果类中的某个成员是public类变量或方法,那么在另外一个类中,能通过此类名来操作这个私有类变量或类方法。

友好变量和友好方法:不用private,public,protected修饰的变量和方法。如果类中创建了一个对象,若在同一个包中,那么在另外一个类中,能通过此类名来操作这个私有类变量或类方法。

受保护的成员变量和方法:用protected来修饰

基本类型的类封装

Java提供与基本数据类型相关的类,实现了对基本数据类型的封装。

对象数组

数组的元素是对象

Student [] stu;
stu=new Student[10];

文档生成器
使用jdk提供的javadoc.exe可以制作文件类结构的html格式文档

代码调试中的问题和解决过程

问题1::调试老师所给程序时产生如图问题

解决办法:复制时误把数字复制进去,删掉即可

问题2:

解决办法:lader.above和lader.bottom的l应该小写,误打成大写了

问题3:

解决方法:没有把他们放在同一个目录下于是运行失败,放在同一个目录下就好了

代码托管

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时  
第一周 31/31 1/1 8/8  
第二周 250/281 1/2 8/16  
第三周 586/867 1/3 15/31  

20175224 2018-2019-2 《Java程序设计》第三周学习总结的更多相关文章

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

    1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...

  2. 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...

  3. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  4. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

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

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  6. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  7. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  8. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

随机推荐

  1. script 修改 plist遇到的问题

    一个sh脚本每次build的时候动态修改info.plist文件 达到动态更改版本号的目的 但是估计是因为缓存的缘故 每次只有clean之后再运行才会修改成功 看script执行的log 好像是先修改 ...

  2. ArcGIS JS API4 With VueJS集成开发

    1.USING VUEJS WITH ARCGIS API FOR JAVASCRIPT,集成VUE到ArcGIS JS开发中. 2.ARCGIS API 4 FOR JS WITH VUE-CLI ...

  3. jenkins忘记admin密码解决办法

    参考网址:https://www.jianshu.com/p/2995ae8157e7

  4. [原][杂谈]如果人类的末日:"天网"出现

    本文由南水之源在2019年3月21日发布,转载需声明原作者 本文仅为一次基于科技发展与科幻小说的幻想,如果天网真的出现,请不要参考这篇逻辑破败的推论. 参考: 天网(Skynet),是电影<终结 ...

  5. 算法笔记--Splay && Link-Cut-Tree

    Splay 参考:https://tiger0132.blog.luogu.org/slay-notes 普通模板: ; ], val[N], cnt[N], fa[N], sz[N], lazy[N ...

  6. (6)tcp-socket

    (1)client端口: import socket# 产生一个socket对象sk = socket.socket()# 建立连接sk.connect( ("127.0.0.1" ...

  7. D - Dice Game (BFS)

    A dice is a small cube, with each side having a different number of spots on it, ranging from 1 to 6 ...

  8. linux 复制文件

    1 复制指定目录下的全部文件到另一个目录中. 若dir2目录不存在,则可以直接使用: cp -r dir1 dir2 若dir2目录存在,则需要使用: cp -r dir1/. dir2 若dir2目 ...

  9. C# 数组,对象实例化并赋值

    [数组] 数组实例化,并赋值时,可以省略new[]. ]; --未赋值 ,}; --赋值 [对象] 对象实例化,并赋值时,可以省略(). class test { public string name ...

  10. 微信小程序-列表渲染多层嵌套循环

    微信小程序-列表渲染多层嵌套循环 入门教程之列表渲染多层嵌套循环,目前官方的文档里,主要是一维数组列表渲染的案例,还是比较简单单一,给刚入门的童鞋还是无从入手的感觉. <view wx:for= ...