调用类的普通方法
class Lear{
public static void learn(){
System.out.println("we learn java and oracle");
}
}
public class Oij{
public static void main(String args[]){
//类 对象=new 类();
Lear l=new Lear(); //实例化
l.learn(); //对象调用方法
}
}
实例化类的语法(使用)
类名 对象=new 类名();
调用类的属性
class Person{
String name;
int age;
public String say(){
return "姓名:"+name+",年龄:"+age;
}
}
public class Oij{
public static void main(String args[]){
Person per=null;
per=new Person();
//Person per=new Person(); //实例化
per.name="xxx"; //通过对象调用属性
per.age=18; //通过对象调用属性
String str=per.say(); //通过对象调用方法
System.out.println(str);
}
}
给出两片区域:
分堆内存和栈内存
堆内存:保存所有对象的属性
栈内存:保存堆内存的地址
引用传递
class Person{
String name;
int age;
public String say(){
return "姓名:"+name+",年龄:"+age;
}
}
public class Oij{
public static void main(String args[]){
Person p1=new Person();
p1.name="王世龙";
p1.age=23;
Person p2=new Person();
p2.name="林依政";
p2.age=22;
p2=p1; //地址改变了
System.out.println(p1.say()); //姓名:王世龙,年龄:23
System.out.println(p2.say()); //姓名:林依政,年龄:23
}
}
没有栈内存指向的堆内存对象称之为垃圾。GC垃圾回收,不定期的清理
封装(简单的封装)
class Person{
private String name; //私有的
private int age; //私有的
public void setName(String n){
name=n;
}
public void setAge(int a){
age=a;
}
public String say(){
return "姓名:"+name+",年龄:"+age;
}
}
public class Oij{
public static void main(String args[]){
Person p1=new Person();
p1.setName("王世龙"); //p1.name="王世龙";
p1.setAge(23);
System.out.println(p1.say()); //姓名:王世龙,年龄:23
}
}
实例化语法:
(1)类名 (2)对象名=(3)new (4)类名();
(1) 我们可以定义自己类
(2) 我们自己起的名字,一般首字母小写
(3) 一旦new表示在内存开辟空间
(4) Person(),构造方法
构造方法一般用来做一些初始化的工作,他只在实例化的时候被调用一次。
构造方法及其重载
public Person(){ //构造方法
System.out.println("***");
}
public Person(String n,int a){ //构造方法重载
name=n;
age=a;
}
Person p=null;
p=new Person("德玛西亚",25);
System.out.println(p.getName()+" "+p.getAge());
匿名对象
System.out.println(new Person("德玛西亚",25).getInfo());
构造方法与普通方法的区别:
构造方法只在实例化的时候被调用1次。
普通方法可以被对象调用多次。
简单Java类
(1) 首先类名必须有意义,首字母大写,Book,Person,Student,JiaGe。
(2) 所有属性(变量),必须使用private封装。
(3) 提供setter、getter方法。setXxx(),getXxx()。
(4) 可以提供多个构造方法,但是至少保留一个无参构造。
(5) 类中不允许使用输出语出,必须交给主类的主方法来处理。返回信息的方法,方法名暂时定位getInfo();