JavaSE复习日记 : 实例化对象/构造方法和this关键字
2015-08-23 22:19
357 查看
/* * 实例化对象/对象的构造方法/this关键字 */ /* * 实例化对象 * * 就是实例化某一个类; * 从不同角度去理解的话就是: * 1. 从人的认知角度: * 就是具体化某个东西; * 如果一个人是一个类,那么这个类的实例化对象就是一个有具体属性的人,比如实例化这个人叫"张三",年龄"23",性别"男","未婚"等等,可以理解对象是对一个类的具体化;(我自己是这么认为的,当然不同人会有不同的理解,欢迎大神指教) * 2. 从代码的角度: * 实例化就是new某一个类的实例,来封装特有的数据; * 3. 从内存的角度: * 在堆内存里面开辟的一个(对象的)空间,用来保存对应类的实例化的数据; * 4. 从设计的角度: * 从一个实际的实体抽象某些属性的一种实体表示; * ***每个类可以有多个对象,但每个对象只对应一个类; */ /* public class JavaSE{ public static void main(String[] args){ people d1 = new people();//实例化people这个类 d1.name = "张三";//调用属性,给属性赋值 d1.age = 23; d1.sex = "男"; System.out.println( "姓名:" + d1.name + " 年龄:" + d1.age + " 性别:" + d1.sex + " " ); } } class people{ String name; int age; String sex; } 4000 */ /*----------------------------------------------------------------------------------------------------- * 对象的构造方法和this关键字 * 什么是构造方法? * 跟本类名相同的方法,如果类中没有写构造方法,系统会默认指定一个无参的构造方法,即无参构造; * 构造方法的作用: * 创建当前类的实例化对象; * 构造方法的重载; * 可以写多个构造方法,然后根据需求和我们的成员变量,可以重载多个构造方法; * 构造方法的语法: * [public static void]类名(){//构造方法默认是公共的(public),静态的(static),没有返回值的(void),方法名和类名相同; * * } *------------------------------------------------- * * this关键字: * 代表的是当前的这个对象; * 在成员方法中区分成员变量和局部变量; * this关键字的语法; * this.方法名();//当前这个类的成员方法; * this.变量名;//当前这个类的成员变量; * 主要用在构造方法中; */ public class JavaSE{ public static void main(String[] args){ ourDate.m1(); ourDate d1 = new ourDate(1111,11,11);//类内部调用另外一个类里面的东西必须先要实例化,调用时:对象名.方法名(); System.out.println( d1.year + "年" + d1.month + "月" + d1.day + "日"); ourDate d2 = new ourDate(); System.out.println( d2.year + "年" + d2.month + "月" + d2.day + "日"); } } class ourDate{ int year; int month; int day; public static void m1(){//静态方法不用实例化就能调用:直接 类名.方法名 就可以;但是成员方法不行,必须先实例化才行; int a = 100; System.out.println( a ); } ourDate(){//构造方法; this(1999,9,9); } ourDate(int _year,int _month,int _day){//构造方法;这里是方法的重载,外部调用这里的方法会根据形参列表的不同调用方法; this.year = _year;//区分类部成员变量和方法内的局部变量; month = _month; day = _day; } } //这些都是我自己总结出来的,这块有点难写,我只能先写出一些基本的东西,大概说明一下这块内容怎么去理解,至于一些方法和关键字的特殊点的用法只能通过其他实例来说了.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
相关文章推荐
- Spring SimpleJdbcTemplate batchUpdate() example
- Spring SimpleJdbcTemplate Querying examples
- [笔记][Java7并发编程实战手册]3.8 并发任务间的数据交换Exchanger
- java多线程详解(1)-多线程入门
- java EE 5,JSP中核心标签库的无法使用
- Spring JdbcTemplate batchUpdate() example
- Java多线程编程-同步代码块
- JavaSE复习日记 : 实例化对象/构造方法和this关键字
- mvn学习
- 用 ObjectMapper将JSON字符串转换为java对象时,java对象一定要有无参构造函数
- cglib动态代理和jdk的动态代理
- Spring JdbcTemplate Querying examples
- synchronized 和java.util.concurrent.locks.Lock 的异同
- Spring的简介
- Java技术资料
- java基础和面向对象
- 文章标题
- 正则表达式笔记(第二弹:JAVA中正则表达式的应用)
- Java编程语言概述
- java多线程同步及最大线程数目