Java是面向对象的编程语言,类和对象是面向对象编程的重要概念。从今日起陆续把过去落下的知识一点点补回来,且把这当作一种笔记吧。
1. 类的声明、属性的使用、对象的声明和使用(无参构造方法):
1 class Person 2 { 3 String name;//声明属性,即成员变量,Field又称为字段或域 4 int age; 5 public void talk()//公有方法method 6 { 7 System.out.println("我是"+name+",今年"+age+"岁"); 8 } 9 } 10 public class T01//测试类test 11 { 12 public static void main(String[] args)//main主方法 13 { 14 Person p = new Person();//调用Person无参构造方法声明Person类的实例化对象p 15 p.name="Mary";//为属性name赋值 16 p.age=18;//为属性age赋值 17 p.talk();//用对象p调用talk()方法 18 } 19 }
输出结果:
2.有参的构造方法来为对象的成员变量赋初值:
1 class Person 2 { 3 String name;//声明属性,即成员变量,Field又称为字段或域 4 int age; 5 public Person(String name,int age)//构造方法,与类同名 6 { 7 this.name=name; 8 this.age=age; 9 } 10 public void talk()//公有方法method 11 { 12 System.out.println("我是"+name+",今年"+age+"岁"); 13 } 14 } 15 public class T01//测试类test 16 { 17 public static void main(String[] args)//main主方法 18 { 19 Person p = new Person("Mary",18);//调用有参构造方法声明Person类的实例化对象p,并赋初值 20 p.talk();//用对象p调用talk()方法 21 } 22 }
输出结果:
3.创建匿名对象
1 class Person 2 { 3 public void talk() 4 { 5 System.out.println("Hello World!"); 6 } 7 } 8 public class T01 9 { 10 public static void main(String[] args) 11 { 12 new Person().talk();//这是匿名对象 13 } 14 }
由于匿名对象没有栈内存指向,所以只能使用一次,后被垃圾回收器收回。
4.区别Java中类属性和对象属性。
类属性:被这个类定义的对象所共有,是静态的,一变全变。
static String a="abc";
对象属性:这个类定义的对象私有,是非静态的,从一而终。
String a="abc";