java 对象

类的修饰符:

java中总公共有:public、private、protected访问修饰符。

1:任何类和对象都可以访问类的方法和域--public。

2:只对本类可见---private。

3:对本类以及所有子类可见--protected。

一:默认情况下,java给类提供了一个无参数的构造器,如果类本身我们自己构造了一个构造器之后,如果不是无参数的构造器的时候,在new构建对象的时候,需要传递参数。如果继续使用无参数构造器会报错。

也就是说当且仅当类没有提供任何构造器的时候,系统才会提供一个无参数构造器。

 1 public class init_java {
 2     public static  void  main(String[] args){
 3         Employee employee=new Employee("tom",22,23000);
 4         System.out.println(employee.getSalary());
 5     }
 6 
 7 
 8 }
 9 
10 
11 class Employee{
12     private int  age;
13     private String name;
14     private  double salary;
15     public Employee(String aname,int aage,double asalary){
16         this.age=aage;
17         this.salary=asalary;
18         this.name=aname;
19     }
20     public String getName(){
21         System.out.println(this.name);
22         return this.name;
23     }
24     public double getSalary(){
25         return this.salary;
26     };
27 }

我们自定义构造器的时候,在new创建对象的时候,就需要传入参数。

构造器中调用另一个构造器:

 1 public class init_java {
 2     public static  void  main(String[] args){
 3         Employee employee=new Employee("tom",22,23000);
 4         System.out.println(employee.getSalary());
 5         System.out.println(employee.getAlaname());
 6     }
 7 
 8 
 9 }
10 
11 
12 class Employee{
13     private int  age;
14     private String name;
15     private  double salary;
16     private String alaname;
17     public Employee(String aname,int aage,double asalary){
18         this("evil");
19         this.age=aage;
20         this.salary=asalary;
21         this.name=aname;
22     }
23     public Employee(String aname){
24         this.alaname=aname;
25     }
26     public String getName(){
27         System.out.println(this.name);
28         return this.name;
29     }
30     public double getSalary(){
31         return this.salary;
32     };
33     public String getAlaname(){
34         return this.alaname;
35     }
36 }

this只能在构造器的第一行且只能在第一行。

this后面用括号括起来,并写入参数。

构造器中,需要注意的是,没有返回值,void 只是表示返回值是空而不是没有返回值!!

构造器的作用是给对象初始化状态值,建议在构建类的时候,自己写构造器,初始化对象的“状态”。

类的设计技巧:

1:一定要保证对象数据私有化。

一定要保证对象的数据的封装性。不能破坏数据的封装性。保证对象的实例域是私有的,可以通过更改器或者访问器进行对象状态的访问和修改。

2:一定要对数据进行初始化。

java不对局部变量进行初始化,但是会对对象的实例域进行初始化。所以我们在写类的时候,最好我们自己写构造器给对象进行初始化。最好不要依赖系统给我们的初始化。而是显示的初始化实例域。

3:不要过多的在类中使用基本数据类型。

言外之意,就是在表述一个对象的时候,我们最好不要用一堆基础数据来表示对象的状态,而是用一个类来概括一个对象。

比如表示地址的类,可以用Address类来代替一堆基本数据(private  String city private String province ..........)

4:并不是所有的实例域都需要独立访问器和更改器。

比如上几次博客中的employee类,中员工的姓名,性别等就不需要更改器。也不是所有的域也需要访问器。

5:将功能复杂的类,划分几个类。

并不是说,你类中写15个方法,就必须划分成3个类 每个类5个方法。而是根据实际情况,进行划分,便于维护和修改。

6:类的名字和方法的名字能体现其功能。

命名的方式,也让其他人看键参数知其含义。而不是定义一些简单的字母:a、b、c。

原文地址:https://www.cnblogs.com/evilliu/p/7650289.html