学习笔记——Java类和对象
今天学习了Java的类和对象的相关知识,由于Java面向对象的编程的思想和C++几乎一样,所以需要更多的关注Java的一些不同之处。
1.类
1.1 在类这一块,除了基本的成员变量,成员方法,构造函数等外,需要掌握三种权限修饰符的区别,并会合理使用(private限制了权限只在本类,protected限定了权限只在包内)。
1.2 静态常量、变量、方法:static修饰。我们可以使用“类名.静态类成员”来调用,如:
public class StaticTest{
static double Pi=3.1415;
static int id;
public void test(){
System.out.println(StaticTest.Pi);
System.out.println(StaticTest.id);
}
}
还需要注意的是:静态方法中不能使用this关键字,也不能在静态方法中调用非静态方法。但可以在非静态方法中调用静态方法。
技巧:当希望执行类的初始化动作时,可用static定义一个静态区域。如:
public class example{
static{
//some
}
}
1.3 对象
在Java中,一切都可以看做对象,但真正的操作标识符实质上是一个引用。
对象的引用很简单,如:Book book;
将该引用与对象关联起来,如:
Book book=new Book();
在Java中,引用实质上存放的是对象的内存地址,保存在栈中,而对象保存在堆中。所以引用存放的不是对象,只是一般我们忽略了这种区别。
还需注意:对象的比较,==和equals方法的区别。对象的销毁,finalize()方法的使用。
学习笔记——Java类和对象的更多相关文章
- Java学习笔记之---类和对象
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态 例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...
- Java学习笔记 04 类和对象
一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...
- Java学习笔记之——类与对象
1.参数的传递方式 1)值传递 2)引用传递 2.类和对象: (1)类的定义: public class 类名{ 类型 属性1: 类型 属性2: ……… public 返回值类型 方法名1(形参){ ...
- 学习笔记 Java类的封装、继承和多态 2014.7.10
1.问题:toString()没搞懂? int a = 1; Integer aa = new Integer(a); //这是实现的过程 System.out.println("Hello ...
- 1.2(java学习笔记)类与对象
对象:是指具体的事物.比如学生 张三,老师 李四,代表一个单一的个体. 比如 学生 张三,这时张三就是具体的对象. 类:将对象中共有特征抽象出,可以理解为某种特性的集合. 世界上的事物可以分解成一 ...
- Python学习笔记008_类_对象_继承_组合_类相关的BIF
# 对象 = 属性 + 方法>>> # Python中的类名约定以大写字母开始>>> # tt = Turtle() 这就是创建类实例的方法,其它语言用new ,它 ...
- Swift学习笔记之--类和对象
通过在 class后接类名称来创建一个类.在类里边声明属性与声明常量或者变量的方法是相同的,唯一的区别的它们在类环境下.同样的,方法和函数的声明也是相同的写法 class Shape { func s ...
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
- [Java初探08]__简单学习Java类和对象
前言 在前面的学习中,我们对面向对象的编程思想有了一个基本的了解,并且简单的了解了类和对象的定义.那么类和对象在Java语言中是如何表现的,这次,就从实际出发,学习一下一下类和对象在Java语言中的使 ...
随机推荐
- 再次写了第一个servlet
费时2小时,熟悉tomcat和编写了第一个servlet
- Mybatis学习(6)动态加载、一二级缓存
一.动态加载: resultMap可以实现高级映射(使用association.collection实现一对一及一对多映射),association.collection具备延迟加载功能. 需求: 如 ...
- 动态添加试题选项按钮 radioButton(一)
最近在做WebView加载试题的功能,但是选项按钮如果放的WebView中,点击时反应很慢.于是把选项用原生的RadioButton,而试题题目和答案放在WebView中.但是选项的个数不确定,所以需 ...
- Python3基础 map 与 lambda表达式配合 将指定系列元素乘2
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- UITextField 之 手势收起键盘
1. 注册手势 /** * 注册手势 */ -(void)gestureReg{ //放弃第一响应者 UITapGestureRecognizer * tap = [[UITapGestureReco ...
- javac不是内部或外部命令
1.描述 在命令行输入javac,提示“不是内部或外部命令”. 2.解决过程 2.1.解决方案一 2.1.1.检查并添加环境变量 通常就是这个原因导致. 2.1.2.过程一 确实还是环境变量没有写对. ...
- 在官网下载了最新版的PHP,解压后的安装包里为什么没有php5isapi.dll这个dll文件?
因为自PHP 5.3.1版本开始,PHP便已不在支持ISAPI模式,所以你在PHP5.3.1版本以上的php目录中看不到php5isapi.dll文件. 那么,IIS6下跑PHP 5.3.1以上版本时 ...
- PHP的一些 有用但不常用的函数记录
1. microtime() 当前 Unix 时间戳以及微秒数. <?php $mem = new Memcache; $mem->connect("127.0.0.1" ...
- Java 伪静态 Mapping
1. 概念 伪静态,简单来说是指转换url地址,在这里用来替换掉urlMapping.因为urlMapping需要为每一个页面都进行配置,非常麻烦. 2. RequestMapping 3. Spri ...
- 持续集成的一些讨论(CI)
如何保证程序开发的新功能降低BUG,那就是需要他们自己写用测试工具来写测试用例,包括Mocha(JS).Junit(Java).GTest(C++):而上传到SVN或者GIT后,又如何保证能跟原有的功 ...