计算机基础——Java笔记一
- 数据类型
- 变量
.png)
- 运算符
关系运算符
位运算符
逻辑运算符
赋值运算符
- 控制语句
- while/for循环
- 方法
- 递归结构/递归方法
- api文档
.png)
- scanner输入,可以使用键盘输入
- 面向对象(object-oriented)
类,对象,面向对象的三大特征
.png)
通过类来组织代码,用对象封装数据C 面向过程,一个一个方法为组织组织起来的C++ 一个一个类为组织组织起来的,里面有变量有方法。相近的数据相近的行为放在一起。 组织在一起。(复杂的比较有优势)有了面向对象仍然需要面向过程的面向对象的思维去把握整体,面向过程的思维去把握细节.png)
面向对象编程(OOP)的本质:以类的方式组织代码,以对象的方式(封装)数据。(先写类再引出对象)面向对象思维:OOA,OOD(先有对象再有类)对象:具体的事物 abstract类:对对象的抽象(抽象:抽出象的部分)先有具体的对象,然后抽象出对象中相像的部分归纳出类,通过类再认识其他对象。编程是先有类,再写对象对象:object/instance(实例)都是对象对象是以类为模板建立起来的。类就是模板学Java:学别人写好的类,写自己的类- 类的属性(类的成员变量)(静态的数据)
属性若未初始化则使用默认值:数值0, 0.0, \u0000, null, false.局部变量则系统不会初始化。- 类的方法(动态的行为)
Java中方法参数传递都是 值传递!(方法传参传的都是值/指向的地址)Java语言中除了基本类型之外的其他变量类型都是引用类型。Java中对象是通过引用reference对其操作的。(引用了某个对象的地址)内存中的调用栈:存放局部变量堆:存放new出来的对象方法区:也是堆 存放类的信息(代码),static变量,常量池(字符串常量)等。
垃圾回收机制(Garbage Collection)
自动回收,System.gc()通知清理内存。- 构造器/构造方法 constructor
归属于方法,通常都还在创建的类中写着,只是这个方法是用来创建对象的而已。用于构造该类的实例(实例即对象)[修饰符] 类名 (形参列表){//n条语句}方法通过new或者对象来调用(因为方法要通过对象来调用,但是这里的构造方法要调用的时候还没有对象,所以就用new来调用这个构造方法。)构造器名称必须和类名一致不需要返回值无需写return经常用来构造该类的对象,或者用来初始化对象的属性- 重载(overload)
方法的重载:同一个类中,一个方法名可以有多种不同的方法。(形参的类型,个数,以及顺序不同都可以构成重载)。但是返回值类型以及形参的名称不同就无法构成重载。调用时会自动选择匹配对应的方法。重载的本质就是只要对同名的方法不构成歧义,则可以重载。因为构造器也是方法,所以重载对构造器也适用。构造器也可以重载。定义类的时候没有(),在定义跟类同名的方法的时候一定有()。- static变量
在类中,用static声明的成员变量为静态变量,或者叫类属性,类变量。在内存中是置于堆的方法区中,static的方法和static的变量都在堆中。为静态方法。调用时可直接“类名.类属性”不需要对象就可调用。普通变量都是从属于对象的,但是static是从属于类的。静态方法中不能引用非静态的变量(因为静态方法从属于类,而普通变量和类从属于对象)不加类名就是本类的方法/变量,加类名是调用其他类的方法/变量。普通方法中可以调用静态的属性和方法。在静态中不能调用非静态的属性和方法(因为静态中调用不到非静态的属性和方法)。对象可以用类的也可以用对象的。类只能用类的不能用对象的。- this(指代当前对象)
每个普通方法(非类方法)都会自动传的隐式参数普通方法中,this总是指向调用该方法的对象。构造方法中,this总是指向正要初始化的对象。this不能用于static方法(因为this这个默认参数在static方法中没有对象,也不传this,也传不过去)。
计算机基础——Java笔记一的更多相关文章
- 计算机基础--Java中int char byte的关系
计算机基础--Java中int char byte的关系 重要:一个汉字占用2byte,Java中用char(0-65535 Unicode16)型字符来存字(直接打印输出的话是字而非数字),当然要用 ...
- Java基础复习笔记系列 九 网络编程
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...
- Java基础复习笔记基本排序算法
Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统 ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- Java基础复习笔记系列 八 多线程编程
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- Java基础复习笔记系列 四 数组
Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...
- Java学习之计算机基础(一)
阅读本文大概需要 4 分钟 想要开始学习Java开发,需要掌握一些必要的计算机基础.如果你是计算机专业的人或者已经学过类似的课程,可以跳过这篇文章的阅读.计算机基础课程有很多,小编在大学里学过的课程就 ...
随机推荐
- English-手机销售英文场景
http://www.engpx.com/news/18216.html https://wenku.baidu.com/view/d67a103203768e9951e79b89680203d8ce ...
- iOS CALayer总结——图层几何
最近看了一下关于图层和动画的内容,所以写了一份总结,算是对这些内容的汇总吧,都是一些简单的基础知识,不知道大家都了不了解. 除了和用户的交互之外,图层的很多属性和视图基本上都是一样的,今天就先从CAL ...
- 在iframe内页触发顶层页面body的blur事件
//在iframe内页触发顶层页面body的blur事件. if (window != top) { $(document.body).click(function () { $(top.docume ...
- Vue路由规则中定义参数
Vue使用routerLinke定义参数的时候 路由规则中不需要更改任何属性. 路由其实就是我们在html中定义的锚点,点击这个连接跳转一个锚点.vue中的路由也是这个原理, 前提是路由必须创建在实 ...
- java线程基础巩固---多Product多Consumer之间的通讯导致出现程序假死的原因分析
在上一次中已经实现一个生产者与消费者的初步模型(http://www.cnblogs.com/webor2006/p/8413286.html),但是当时只是一个生产者对应一个消费者,先贴下代码: p ...
- 【二叉搜索树】PAT-天梯赛- L2-004. 这是二叉搜索树吗?
大致题意: 一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于该结点的键值: 其右子树中所有结点的键值大于等于该结点的键值: 其左右子树 ...
- Vue中在组件销毁时清除定时器(setInterval)
在mounted中创建并执行定时器,然后在beforeDestroy或者destroyed中清除定时器 <template> <div class="about" ...
- mysql 新手入门 官方文档+官方中文文档附地址
点评: 官方文档地址 官方中文文档地址 sql语句扩展
- go语言开发IDE
软件下载及绿化方法 GoLand-2018.3 链接:https://pan.baidu.com/s/15AKPDIJIN86vxfriHBjE-g 提取码:060h 选择路径的时候,去掉路径名的版本 ...
- python - Flask 上下文管理 流程
上下文管理: - 请求上下文 (ctx=RequestContext()) : request/session - App上下文 (app_ctx=AppContext()) : a ...