Day02:对象和类(下)
构造方法
什么是构造方法
在类实例化对象时运行的一种特殊的方法
为什么需要构造方法
构造方法适合为对象的属性赋初值
编写构造方法
public 类名(){
//方法体
}
构造方法不写返回值
构造方法的方法名必须和类名相同
构造方法不能使用对象调用只在实例化对象时运行
new 类名(参数列表);//调用构造方法
注意:
如果一个类中没有编写构造方法那么系统会自动为这个类生成一个无参构造
反之不会生成一个无参构造
构造方法可以重载
return关键字
返回方法指定类型的值(这个值是确定的)结束方法的执行(仅一个return)。
语法:
public int A(int a){
reeturn a;
}
成员变量和局部变量
类中定义的变量(属性)就是成员变量。
方法中定义的变量,或形式参数就是局部变量。
区别
作用域不同
成员变量可以在当前类的任何方法中使用。
局部变量只能在声明他的方法中使用。
初始值不同
成员变量有初值默认值。
(0\0.0\false\null)
局部变量没有初始值。
优先级不同
成员变量和局部变量同名时。
局部变量具有更高的优先级。
如果想访问成员变量需要在变量名前加this. 。
this关键字
this是对象在方法中对自身的引用
用法
this.属性
区分成员变量和局部变量
this.方法()
this()
调用当前类的构造
必须编写在构造方法中
必须编写在方法中的第一行
构造函数之间的调用:
this:区分局部变量和成员变量同名的情况。
构造函数之间的调用只能通过this语句来完成。
构造函数之间进行调用时this语句只能在第一行。
构造方法要先执行,如果构造方法当中还有初始化,那就区执行更细节的初始化。
构造代码块
特点:
对象一建立就运行了,而且优先于构造函数执行。
语法:
{
System.out.println("........");
}
作用:
给对象进行初始化的。
构造代码块和构造方法的区别?
1.构造方法是对应的对象进行初始化。
2.构造代码块是给所有的对象进行统一初始化。
构造代码块种定义是不同对象共性的初始化内容。
引用数据类型
特征(String、自造类、数组)
变量保存的是这个对象的引用
在方法中 变量的引用保存在栈中 对象保存到堆中
Dog d=new Dog("旺财",3,17.6,"金毛");
Dog dd=d;
dd.name="亏财";
System.out.println(d.name);
引用数据类型数组
Dog[] dogs=new Dog[4];
//默认值:{null,null,null,null}
引用数据类型数组元素的默认值是null
null指针异常
null是个常量,表示当前引用,没有引用任何对象
当这样的null对象打.调用属性或方法是,会出现null异常
如果在遍历引用类型数组时发生null指针异常,需要在元素调用属性或方法前加个if判断
多维数组(二维数组)
普通数组中,数组元素是具体数据
多维数组中,数组元素还是数组
Day02:对象和类(下)的更多相关文章
- Python-面向对象(类)二
一.成员修饰符 • 共有成员 • 私有成员 __+字段 __:成员修饰符 无法直接访问,只能通过该成员所属类的方法简介访问 class Foo: def __init__(self, name, ag ...
- Python-面向对象(类)一
一.如何创建类 class cls: pass 二.创建方法 构造方法: __init__(self, arg) obj = 类('a1') 普通方法: obj = 类('xxx') obj.普通方法 ...
- CoreJava学习笔记1-基本概念、对象和类
一. java的基本程序设计结构 (一) java共有8种基本类型:4种整型,2种浮点类型,1种char,1种boolean. 1) 4种整型:byte(1).short(2). ...
- Python全栈--9.1--面向对象进阶-super 类对象成员--类属性- 私有属性 查找源码类对象步骤 类特殊成员 isinstance issubclass 异常处理
上一篇文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象 ...
- winform中利用反射实现泛型数据访问对象基类(1)
考虑到软件使用在客户端,同时想简化代码的实现,就写了一个泛型的数据访问对象基类,并不是特别健全,按道理应该参数化的方式实现insert和update,暂未使用参数化,抽时间改进. /// <su ...
- Java对象与类中的一个小练习
一直在Eclipse里做练习.是做一个练习,执行一个的那种.刚刚学习了Java的对象与类,练习中把类和执行放在同一包下的两个.java文件里面了.是可以执行的.(Get) 相关代码: public c ...
- 关于Object类下所有方法的简单解析
类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直接来看jdk的源码,开始我们的分析之路 ...
- OLE:对象的类没有在注册数据库中注册
我在网上下载了破解版的SAS9.3,用了一段时间之后,今天打开就填出一个提示框:OLE:对象的类没有在注册数据库中注册 激活该对象所需的应用程序不可用.是否用"转换--"将其转换为 ...
- JAVA基础复习与总结<一> 对象与类的概念_内部类_继承与多态
一.对象与类 类:类是一个模版,它描述了一类对象的行为和状态. class animal { private int color; private int size; public void eat ...
随机推荐
- 清北学堂dp图论营游记day2
上午讲数位dp和背包问题. 先讲背包: 完全背包:换了个顺序: 多重背包: 多重背包优化: 这样把每个物品分成这些组,那么把他们转变成不同的物品,就变成了01背包问题: 滑动窗口取最值问题.单调队列优 ...
- DeepFaceLab更新至2019.12.23
本次更新主要是增加了脸图样本生成器,一般来说我们提取脸图之后会放到aligned文件夹里面,训练的时候会加载这些脸图,若是图片少还行,一旦图片太多加载效率低不说,同样会影响了训练效率.现在好了,我们只 ...
- 第一次把本地项目与git相连
原文:https://blog.csdn.net/a987625922/article/details/82189863 新建远程仓库(github或者gitee) 将本地仓库转换成版本库,并将文件添 ...
- Spring、SpringMVC和Springboot的区别
spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc. spring mvc 是只是spring 处理web层请求的一个模 ...
- layer 回调
目前使用的layer版本为1.8.5 在调用layer的JS中,使用end来进行处理 $.layer({ type : 2, shadeClose : true, title : '选择人员', cl ...
- C语言写数据库(一)
/*** connect.c ***/ #include<stdio.h> #include<stdlib.h> #include"mysql.h" int ...
- [Jenkins]Job中如何传递自定义变量
场景一: Job构建步骤间的变量传递 Jenkins提供了数十种构建方式,我们以最常用的『Execute shell』为例.有时为了使Job中的复杂的构建流程更加清晰我们配置多个构建步骤像下面这样.图 ...
- Javascript事件:this.value()和this.select()
1.JavaScript的this.value() <asp:TextBox ID="txtComment" runat="server" Text=&q ...
- MyBaits理解?
(1)MyBaits是一个基于Java的持久层框架,支持普通或定制化SQL查询.存储过程以及高级映射,使用XML或注解来配置和映射信息. (2)应用程序使用SQLSessionFactory实例,一个 ...
- IDEA设置注释模板
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...