Person.java package com.google.eshop.javase; import java.util.Date; //电商 人 和银行项目的人//类是抽象的数据类型,我们需要的是具体的人变成对象//包含别的数据类型,不只是基本数据类型,还可以
package com.google.eshop.javase; import java.util.Date; //电商 人 和银行项目的人 //类是抽象的数据类型,我们需要的是具体的人变成对象 //包含别的数据类型,不只是基本数据类型,还可以是别的引用类型 //类具体化成对象 //main方法不是类必须的,只是一个程序 //类的设计是为了复用 public class Person { //类中有两部分内容 //1.属性或叫域(静态) //如果属性变为私有如何赋值和取值 String name;//隐藏细节 暴露接口 //选中name点击source进入Generate Getters and Setters public String getName() { return name; } public void setName(String name) { this.name = name; } int gender;//0代表男,1代表女 int age; String address; Date birthday; //2.方法(功能)只讲普通方法 public void sleep(String name,int age) { System.out.println("名字为:"+name+"年龄为:"+age); } public String eat(String name,String address) { return "名称为:"+name+"地址为:"+address; } }TestPerson.java
package com.google.eshop.javase; import java.util.Date; public class TestPerson { public static void main(String[] args) { //将一个类进行实例化 //new这个关键字是用来分配地址空间 //java中只需要分配不需要释放(GC) //面向对象程序的规定动作: 先new对象然后开始调用方法或属性 Person person=new Person(); //person.name ="任正非"; person.age =26; person.address ="临潼区"; person.birthday=new Date(); System.out.println(person.birthday ); person.sleep("马云",45 ); Person person1=new Person(); person1.setName("刘强东");//name为私有直接导入? person1.age =37; person1.address ="未央区"; String message=person1.eat("章泽天", "高新区"); System.out.println(message); String str="abc"; System.out.println(str.length ()); System.out.println(str.charAt(2));//字符串abc的第几个下标的值 Date data=new Date(); System.out.println(data); } }Dog.java
package com.google.eshop.javase; import java.util.Date; //UML(统一建模语言) public class Dog { Person person=new Person(); String dname; Date birthday; String color; public void bark(String dname,String colour) { System.out.println("名字为:"+dname+"颜色为:"+colour); } }TestDog.java
package com.google.eshop.javase; import java.util.Date; import java.util.Stack; //选择安全 牺牲了性能 灵活性也降低了 //灵活性高安全性就低 public class TestDog { public static void main(String[] args) { Dog dog=new Dog(); Dog dog1=new Dog(); dog.color ="yellow"; dog.birthday =new Date(); dog.person=new Person(); System.out.println(dog.person.address="abbcc"); dog1.color="white"; dog1.dname="黑点"; dog.bark(dog1.dname, dog1.color); String str="abcdefg"; System.out.println(str.length()); int position=str.indexOf("b", 2);//index首页 System.out.println(position); StackTestAddressAndInterface.javastack=new Stack ();//first in last out stack.push(1); stack.push(2); stack.pop(); } }
package com.google.eshop.javase; import java.util.Date; public class TestAddressAndInterface { public static void main(String[] args) { //我们需要分辨什么是引用(代表的是一个数据类型)什么是对象(地址空间) //在java开发中拿到一个对象先判断是否为空在操作 有效的规避 空指针异常 //如果没有引用可以直接使用对象? 如果没有引用的对象叫匿名对象 匿名对象 //引用是存在栈(stack)中,对象是保存在堆中(堆中的对象的空间的释放不是保存在 //Person person=null; Person person=new Person(); System.out.println(person.hashCode()); //new Person().address ="高新区"; //System.out.println(person.hashCode()); //person=new Person(); //System.out.println(person.hashCode()); System.out.println(new Person().age=12); System.out.println(new Person().birthday); if(null!=person) { person.address ="高新区"; } } }