javaSE基础06
javaSE基础06
一、匿名对象
没有名字的对象,叫做匿名对象。
1.2匿名对象的使用注意点:
1.我们一般不会用匿名对象给属性赋值的,无法获取属性值(现阶段只能设置和拿到一个属性值、只能调用一次方法)
2.匿名对象永远不可能是同一个对象
匿名对象的好处:书写简单
例:new Person().name = “ 小红”;
1.3匿名对象的使用场景:
1.如果一个对象需要调用一个方法一次的时候,就可以用匿名对象来调用
2.可以做为实际参数在方法中调用
二、构造方法
2.1概念:
在java中类OC{中初始化方法叫做构造方法
2.2回忆OC初始化方法的特点:
1.可以在对象创建时初始化属性值
2.初始化方法只能被调用一次
2.3构造方法的作用:
给对应的对象进行初始化,对象创建时初始化属性值
2.4如何创建构造方法:
格式:
修饰符 类名(参数列表){具体实现}
构造方法使用注意点:
1.方法名和类名保持一致
2.构造方法没有返回值
3.构造方法不是由我们自己手动调用的,而是在对象创建时由java虚拟机调用
4.如果一个类我们没有给它定义一个构造方法,jvm在编译的时候会给这个类默认添加一个无参的构造方法
5.如果我们自己定义了构造方法,jvm就不会在创建无参的构造方法,这个时候需要自己定义一个无参的构造方法
三、方法重载
3.1概念
在java中方法是可以重名的,我们把这种重名的方法叫做方法的重载
3.2方法重载的使用注意事项:
1.必须是方法名一样才可以叫做方法重载
2.任何方法都可以实现方法重载
3.保证参数列表的参数顺序或者个数不一样
构造方法中是可以调用普通方法的
在同一个类中,方法的调用直接拿到方法名调用就可以了
3.3构造代码块
构造代码块的作用:给对象统一初始化
构造代码块的格式:
{
你要统一初始化的内容
}
注意:构造代码块必须写在成员的位置上
代码块:
1.构造代码块
2.局部代码块:写在方法中,也是以大括号来表示
3.静态代码块:在项目启动的时候就执行的话,需要使用静态代码块,这种代码是主动执行的
构造代码块的使用注意点:
1.对象被创建出来时就执行了
2.Java中编译器编译一个java原文件的时候,会把成员变量的声明放在类的最前面
3.成员变量初始化都是在构造方法中执行的
4.一旦经过java编译器编译后,那么构造代码块中的代码会移到构造函数最前面执行
5.成员变量的显示初始化和构造代码。按照当前代码的顺序执行,谁在后面就显示谁
四、this关键字
this:代表所属方法的调用对象,和OC中的self很像
this关键字的作用:
1.如果成员变量和局部变量重名,在方法中默认调用局部变量。如果要使用成员变量,可以通过this点调用成员变量
2.可以通过this实现构造方法的调用
this关键字使用注意点:
1.存在于成员变量同名的局部变量,方法内部会访问局部变量(java采用一个就近原则(优先在同一个内存空间中找变量))
2.在方法中不存在和成员变量同名的局部变量,java编译器在编译时会默认给变量前面加一个this.
构造方法中是可以调用普通(实例)方法,也可以调用构造方法
直接用方法名来调用方法,调用的是普通方法,不会将这个方法作为构造方法
例: student(name,age);
this.student(name,age);
正确的构造方法的调用:
this(参数)
使用注意点:
1.this调用必须是语句中的第一个,不然会报错
2.不要相互调用构造方法
构造函数和一般函数的区别:
结构:
1.构造函数是没有返回值的,方法名就是类名
2.构造函数是由jvm来调用的,自己无法手动调用
作用:
1.初始化的时候给属性赋值
2.描述对象的某种属性
javaSE基础06的更多相关文章
- javaSE基础03
javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...
- javaSE基础07
javaSE基础07 一.static静态修饰符 用了static修饰的变量就会变成共享的属性,只会初始化一次,在内存中只存在一个,并且每个对象都可以访问,存放在方法区(数据共享区) 1.1 stat ...
- javaSE基础05
javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...
- javaSE基础04
javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...
- javascript基础06
javascript基础06 splice var del_arr = del.splice(0,2); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返 ...
- javaSE基础02
javaSE基础02 一.javac命令和java命令做什么事情? javac:负责编译,当执行javac时,会启动java的编译程序,对指定扩展名的.java文件进行编译,生成了jvm可以识别的字节 ...
- JavaSE基础01
JavaSE基础篇01 ------从今天开始,我就学习正式java了,O(∩_∩)O哈哈~,请大家多指教哦 一.Windows常见的dos命令 操作dos命令: win7 --->开始 --- ...
- javase基础复习攻略《十》
按照计划本篇为大家总结JAVA的网络编程,什么叫网络编程呢?网络编程!=网站编程,对于这一点大家一定要注意,很多小朋友都曾经这么认为.既然谈到网络编程,咱们先了解一下网络的基础知识,什么是计算机网络? ...
- javase基础复习攻略《二》
今天就开始的真正走进JAVASE的世界,本篇介绍的是:JAVASE基础语法,大家如果有C语言的基础,对于本节内容一定感觉非常轻松,编程语言之间的都是相通的,只不过C语言属于面向过程编程,而JAVA语言 ...
随机推荐
- JavaScript事件详解-Zepto的事件实现(二)【新增fastclick阅读笔记】
正文 作者打字速度实在不咋地,源码部分就用图片代替了,都是截图,本文讲解的Zepto版本是1.2.0,在该版本中的event模块与1.1.6基本一致.此文的fastclick理解上在看过博客园各个大神 ...
- document.domain
HTML DOM DOCUMENT 对象 定义和用法 domain 属性可返回下载当前文档的服务器域名. 语法 document.domain 说明 该属性是一个只读的字符串,包含了载入当前文档的 w ...
- mysql主从复制操作步骤
注: .做主从复制的两台服务器server-id不能相同 .主从的字符集要一样,不然数据导入会报错 .开启db01的log-bin功能 [root@db01 mysql]# vim /etc/my.c ...
- ROC & AUC笔记
易懂:http://alexkong.net/2013/06/introduction-to-auc-and-roc/ 分析全面但难懂:http://mlwiki.org/index.php/ROC_ ...
- mysql 数据类型
1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m) ...
- Eclipse换背景色
上班后,长时间看代码,眼睛感觉有些疲惫,就想想如果能换个肤色就好了,于是在网上搜了一下,果真Eclipse提供了这个方面功能,心情小激动, 顿时感觉萌萌哒,于是乐呵呵的把肤色改了.在这感谢网上的亲们, ...
- Vue.js简单实践
直接上代码,一个简单的新闻列表页面(.cshtml): @section CssSection{ <style> [v-cloak] { display: none; } </sty ...
- 【10-25】intelliji ide 学习笔记
快捷键 /** alter+enter 导包,异常处理等提示 psvm 快速main函数 sout 快速sysout语句 fi 快速for循环 ctrl+d 重复一行 Ctrl+X 删除行 Ctrl+ ...
- mysql获取一个表中的下一个自增(id)值的方法
SELECT Auto_increment FROM information_schema.`TABLES` WHERE Table_Schema='数据库名' AND table_name = '表 ...
- 浏览器内部工作原理--作者:Tali Garsiel
本篇内容为转载,主要用于个人学习使用,作者:Tali Garsiel 一.介绍 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工作原理,我们将看到,从你在地址栏输入google.com到你看到 ...