对象与类(详解上)

2018-11-28 08:52:32来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

对象与类(上)

  1. 实例
  2. 实例域
  3. 实例域值
  4. 对象与实例的区别
  5. 对象变量与对象的区别
  6. 自定义类模板
  7. 构造器
  8. 隐式参数与显示参数
  9. final实例域

①类:

  是构造对象的的模板,类之中定义的是属性和行为(方法)。

class Person {// 定义一个Person类
    String name ;
    int age ;
    public void tell() {      
          System.out.println("姓名:" + name + ",年龄:" + age) ;
         }
}

类定义完成之后,肯定无法直接使用。如果要使用,必须依靠对象,那么由于类属于引用数据类型,所以对象的产生格式(两种格式)如下:

①: 类名称 对象名称 =new 类名称();

②: 类名称 对象名称 =null;

  对象名称 =new 类名称();

  

public class Test{
        public static void main(String args[]) {
            Person per = new Person() ;// 声明并实例化对象
            per.name = "张三" ;//操作属性内容
            per.age = 30 ;    
            per.get() ;//调用类中的get()方法
        }
}
class Person { 
    String name ;
    int age ;
    public void get() {
        System.out.println("姓名:" + name + ",年龄:" + age);
    }
}
        

 

②实例:

  由类构造对象的过程称为创建类的实例,对象中的数据称为实例域,操纵数据的过程称为方法,对于每个特定类实例(对象)都有一组特定的实例域值,这些值的集合就是这个对象的当前状态。

 

③实例域:

  如name域

 

④实例域值

  黄骏捷(名字)

 

⑤对象与实例的区别:

  对象是抽象的说法,你可以把它看作一个符合它自身定义的所有实例的代表,而实例则是对象的现实体现。你可以说一个实例是一个对象,但你不能说一个对象是一个实例。因为定义对象时只是把自身的规则和逻辑定义好,实例可以通过输入不同的数据使得自己和其他实例不同,比如人类是抽象的,人类中的小潘就是实例

 

⑥对象变量(与对象的区别):

  Date deadline

  定义了一个对象变量deadline,它可以引用Date类型的对象。但是对象变量deadline不是一个对象,实际上也没有引用对象,此刻不能将任何Date方法应用于这个对象变量语句上,所以必须初始化变量deadline  

  deadline = new Date(); 

  一般设置Date deadline=null来表示目前没有引用任何对象。Date是一个类。Date deadline则是创建一个引用变量,dead=new Date() 则是在内存中建立一个对象(开辟了1片空间),对象的模板就是Date,此时就可以使用引用变量deadline,去引用对象中的变量了。

 

⑦自定义类模板:

class Employee
{
    //instance fileds(实例域)
    private String name;

    //constructor(构造器)
    public Employee(String name){
        name = n;
    }
    //方法
    public String getName(){
        return name;
    }
}

 

⑧构造器:

  构造器与类名同名。在构造Employee类和对象时,构造器会运行将实例域初始化所要的状态

//构造器总是伴随着new操作符的执行杯调用
new Employee("小明")    //正确

//不能对一个已经存在的对象调用构造器来达到重新设置实例域的目的
james.Employee("小明")    //错误

   不要在构造器中定义与实例域重名的局部变量,否则会屏蔽同名的实例域,如下的变量name只能在构造器内部访问,没有返回值

public Employee(String n){
    String name =n;   //错误 
}

 

⑨隐式参数和显示参数:

  public void sName(String name){
  system.out.pritln(name);
}

number01.sName("小明");

  显式参数:number01  隐式参数:小明

 

⑩final实例域:

class Employee{
    private final String name
    .........
}

  name域被声明为final,这个值不再会被修改

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:撩课-Java每天5道面试题第11天

下一篇:spring boot2集成ES详解