Java进阶(类与对象的深入讨论)
来源:互联网 发布:平板电脑windows推荐 编辑:程序博客网 时间:2024/06/01 09:12
万物皆对象。Java是纯面向对象的编程语言,更多的跟人的思维有点相似,在人的眼里每一个事物都是一个对象。
对象是Java里面的核心,对象可以说是静态属性和动态属性的封装体,静态属性又可称成员变量或字段,动态属性可称方法。
类是用来创建同一类型的对象的模板,在一个类里定义了该创建的对象应该具有的成员变量及方法。
Java中类的定义:[修饰符] class 类名{}
Java中类的成员变量及方法的定义↓
成员变量:[修饰符] [final] [static] 数据类型 变量名
方法:[修饰符] [static] 返回值类型 方法名(参数列表){}
关于修饰符、final、static后面再谈;
写在方法里面的变量叫局部变量,写在类里但是方法外的变量叫成员变量,成员变量声明后不赋初值也能直接使用(默认值),而局部变量声明完不赋初值就使用就会报错。
引用类型:Java语言内除了所有的基本数据类型之外全部都是引用类型,Java封装了繁琐的指针。引用类型占两块内存。
①String s; 声明一个String类型的引用变量s,但它没有指向任何对象,即使声明出来也没办法用;
②要s = new String("Hello,world!");这样才能用;
第①的过程的时候,s只占一块内存,存放着null,因为它还没有被引用到具体的对象中;
第②的过程时,s就多占了一块内存,两块内存中一块内存存放该字符串的地址,另一块内存(一般在堆中)存放字符串,跟C语言中的指针类似,实际上Java只是把指针封装起来且换了个名字叫“引用”。
对象的创建及使用:
必须使用new关键字以该类作为数据类型创建一个对象,例如String s = new String("Hello,world!"); 这个s只是一个数据类型为String的引用变量,它没有指向任何对象;
使用方法与成员变量前,必须先new出该对象,用“对象名.方法‘”"对象名.成员变量"使用该对象的方法及成员变量;
同一个类new出来的对象使用的成员变量存储的内存是不一样的,也就说相对独立的,而方法却是共享使用的;
构造方法:
面向对象里面有一个特殊的方法叫构造方法,创建对象时可以通过构造方法对类里的成员变量进行动态赋值;
Student类里面有一个方法名与类名相同,这个就是构造方法,构造方法不能有返回值,有了构造方法我们在new出某一个对象的时候就可以对其进行动态赋值;
如上图写完这种构造方法后,我们在new一个对象出来的时候就不能写成Student s2 = new Student();
这种new出对象然后括号为空的是默认情况下才可以用的,什么是默认情况下?就是当程序没有写任何构造方法的时候,如果你想要实现这个构造方法就必须自己写;
这样写我们就可以直接Student s2 = new Student();
还可以倒顺序的Student s3 = new Student("云都小生",2);
这涉及一个新知识点叫构造方法的重载,也就是一个类里面可以拥有多个构造方法,但前提是构造方法的名字必须与类同名;
除了构造方法的重载外,其他的方法也可以构成重载;
方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时根据不同的参数表选择对应的方法;
补充:Java命名规则:类名全部用大写,而方法名和变量名都用小写,这是使用Java编程的程序员都遵守的一种习惯;
对象是Java里面的核心,对象可以说是静态属性和动态属性的封装体,静态属性又可称成员变量或字段,动态属性可称方法。
类是用来创建同一类型的对象的模板,在一个类里定义了该创建的对象应该具有的成员变量及方法。
Java中类的定义:[修饰符] class 类名{}
Java中类的成员变量及方法的定义↓
成员变量:[修饰符] [final] [static] 数据类型 变量名
方法:[修饰符] [static] 返回值类型 方法名(参数列表){}
关于修饰符、final、static后面再谈;
写在方法里面的变量叫局部变量,写在类里但是方法外的变量叫成员变量,成员变量声明后不赋初值也能直接使用(默认值),而局部变量声明完不赋初值就使用就会报错。
引用类型:Java语言内除了所有的基本数据类型之外全部都是引用类型,Java封装了繁琐的指针。引用类型占两块内存。
①String s; 声明一个String类型的引用变量s,但它没有指向任何对象,即使声明出来也没办法用;
②要s = new String("Hello,world!");这样才能用;
第①的过程的时候,s只占一块内存,存放着null,因为它还没有被引用到具体的对象中;
第②的过程时,s就多占了一块内存,两块内存中一块内存存放该字符串的地址,另一块内存(一般在堆中)存放字符串,跟C语言中的指针类似,实际上Java只是把指针封装起来且换了个名字叫“引用”。
对象的创建及使用:
必须使用new关键字以该类作为数据类型创建一个对象,例如String s = new String("Hello,world!"); 这个s只是一个数据类型为String的引用变量,它没有指向任何对象;
使用方法与成员变量前,必须先new出该对象,用“对象名.方法‘”"对象名.成员变量"使用该对象的方法及成员变量;
同一个类new出来的对象使用的成员变量存储的内存是不一样的,也就说相对独立的,而方法却是共享使用的;
构造方法:
面向对象里面有一个特殊的方法叫构造方法,创建对象时可以通过构造方法对类里的成员变量进行动态赋值;
Student类里面有一个方法名与类名相同,这个就是构造方法,构造方法不能有返回值,有了构造方法我们在new出某一个对象的时候就可以对其进行动态赋值;
如上图写完这种构造方法后,我们在new一个对象出来的时候就不能写成Student s2 = new Student();
这种new出对象然后括号为空的是默认情况下才可以用的,什么是默认情况下?就是当程序没有写任何构造方法的时候,如果你想要实现这个构造方法就必须自己写;
这样写我们就可以直接Student s2 = new Student();
还可以倒顺序的Student s3 = new Student("云都小生",2);
这涉及一个新知识点叫构造方法的重载,也就是一个类里面可以拥有多个构造方法,但前提是构造方法的名字必须与类同名;
除了构造方法的重载外,其他的方法也可以构成重载;
方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时根据不同的参数表选择对应的方法;
补充:Java命名规则:类名全部用大写,而方法名和变量名都用小写,这是使用Java编程的程序员都遵守的一种习惯;
0 0
- Java进阶(类与对象的深入讨论)
- Java进阶(关于类与对象的补充)
- Java进阶-类与对象
- java第一课(2)类与对象进阶篇
- java进阶——类与对象
- Java对象的生命周期与作用域的讨论
- Java对象的生命周期与作用域的讨论
- Java进阶(五)对象与实例
- 对象与实例的讨论
- 深入 JAVA对象的复制与比较
- 深入讨论Java开发异常的处理
- 深入讨论java类加载器
- 深入讨论 java类加载器
- 关于C++中类与对象的一些讨论
- C++类与对象的进一步讨论(1)
- C++类与对象的进一步讨论(2)
- C++类与对象的进一步讨论(1)
- C++类与对象的进一步讨论(2)
- xUtils工具类的DbUtils的save功能不能正确保存类的id属性?
- Java进阶(类对象以及类类之间的基情)
- 小心整数比较中的符号属性
- leetcode Search a 2D Matrix II
- CRUD
- Java进阶(类与对象的深入讨论)
- 数据库连接字符串大全
- Java并发编程系列之二:线程状态
- HDU-1698 JUST A HOOK 线段树
- CmosPwd
- 17_Java日期时间
- 错误org.hibernate.PropertyAccessException: Null value was assigned to a property of的解决方法
- Java进阶(关于类与对象的补充)
- 从0开始学OpenGL之Mac篇(1)