zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    lamp环境安装二
    ubuntu14.04 sublime 出错
    lamp环境安装一
    jsp(Java Server Pages)和js(JavaScript)的区别:
    form表单验证jquery
    数据库分离 脱机
    数据绑定ds.ReadXml(stream);
    自定义类型转化
    temp
    一般处理程序获得一个链接返回的值
  • 原文地址:https://www.cnblogs.com/evilliu/p/7650289.html
Copyright © 2011-2022 走看看