初学java
来源:互联网 发布:js select disabled 编辑:程序博客网 时间:2024/05/17 10:07
初学Java简单类(9.26)
1.堆和栈
堆内存空间:保存真正的数据(保存对象属性信息)
栈内存空间:保存堆内存的地址(具有堆内存的操作权)
eg:
第一种情况
Person per = null;表示就是为栈内存保存的per的地址(假设为0x0001),还没有开辟内存,堆内存中没有per的属性信息;
Person per = new Person();表示就是为栈内存保存的per的地址(假设为0x0001),此时会在堆内存中开辟一个新的空间;对应的成员属性均为初始值(String类 为null,int类为0,double类0.0)
per.name = “张三”;表示为堆内存中存放name=“张三”;
per.age = 18;表示堆内存中存放age =18;
引用传递:一个堆内存可以被多个栈内存指引,同一个栈内存只能保存一个堆内容(一个栈存一个地址)
第一种情况
per1.name = “张三”;
per1.age = 18;
Person per2 = per1;
per2.name = “李四”;
上述则表示的意思为:per1和per2分别为两个栈内存,Person per2 = per1;表示把per1的堆内存内容也给per2用,则输出内容为(李四,18)
第二种情况
Person per1 = new Person();per1.name = “张三”;per1.age = 18;
Person per2 = new Person();per2.name= “李四”;per2.age = 20;
per2=per1;
上述表示为:将per1的堆内容给per2;但是per2中有对应的堆内容,则此时必须先将per2的堆内容断开。然后在将per2指引到per1的堆内容,此时原来per2中堆内容就是输垃圾内容,会被java中GC处理掉。
2.描述一个对象
一般规则:
1.类名称可以明确的描述出该事物
2.类中的属性必须使用private,必须使用getter和setter(private只有当前类可以调用其中成员属性,也就是说只以下代码class中才能调用)
3.类中可以有多个构造方法,但必须有一个无参的构造方法
4.类中的所有方法,不能使用输出语句,只能在主方法中使用
5.类中提供一个放回完整信息的方法get Info()
其中getter和setter(使用private必须要用到)
getter:主要用于属性内容的取得
setter:设置和更改的属性内容
(一个对象只能new一次)
类名称 对象名称 = new 类名称();
一般样式
class 类名称{}
成员属性;(一个对象只能new一次)
构造方法;(必须有一个无参的构造方法)
一般方法;
class Student {private String name;private int age;private String number ;private String sex ;private String deparment ;private String hometown ;public Student() {}//每个java简单类必须包括一个无参的构造方法public Student(String name,int age, String number,String sex,String deparment,String hometown){setName(name);setAge(age) ;setNumber(number) ;setSex(sex) ;setDeparment(deparment) ; setHometown(hometown) ; }public void setName(String na) {name = na;}public void setAge(int a){//定义属性的方法 有参(void)age = a ;}public void setNumber(String n){number = n ;}public void setSex(String s){sex = s ;}public void setDeparment(String d){deparment = d ;}public void setHometown(String h){ hometown = h ;}public String getName() {return name;}public int getAge() {return age ;}public String getNumber() {return number ;}public String getSex() { return sex ; }public String getDeparment() {return deparment ; }public String getHometown() {return hometown ; }public String getInfo() {return "name ="+name+"\n"+ "age = " + age + "\n" + "number= " + number + "\n" + "sex = " + sex + "\n" +"deparment = " + deparment + "\n" +"hometown = " + hometown ;} }public class StudentDemo {public static void main(String args[] ) {System.out.println(new Student("李四",20,"14144203811","男","物电学院","陕西").getInfo()) ;}}一般会遇到一些错误
”NullPointerException” :只出现在引用数据类型(数组,类,接口)
”Initiaialized‘’:表示化变量没有初始
编译只检测代码的语法错误
阅读全文
0 0
- Java初学
- 初学JAVA
- 初学Java
- Java初学
- 初学JAVA
- Java初学
- 初学java
- 初学java
- 初学java
- 初学java
- 初学JAVA
- 初学Java
- 初学java
- 初学JAVA
- Java初学
- 初学JAVA
- 初学JAVA
- java初学
- [总结]----sqoop 同 MySQL 和 HDFS,Hive 导入导出
- Yii2 路由美化
- Dungeon Master (简单广搜)三维地下城
- ORACLE initialization or shutdown in progress 错误解决办法
- 关于矩阵乘法的重要提醒
- 初学java
- EA&UML日拱一卒-活动图::14.2 Behavior StateMachines (11)
- Qt中如何解析Json数据
- NOIP2015子串题解
- 关于Win10 无法登陆破解方法
- Reconstruct Itinerary
- 智能指针
- Java面试题(三)TCP/IP协议
- String源码分析