Java学习笔记 (一)对象和类

个人学习笔记

一、自定义类

类是Java程序的基本要素,是一类对象的原型封装了一类对象的状态和方法

1.字段和方法

字段(field)是类的属性,用变量来表示,或称为域、域变量、属性、成员变量等

方法(method)是类的功能和操作,是用函数来表示的

class Person
{
	String name;
	int age;

    public void sayHello() 
	{
		System.out.print("Hello my name is "+this.name);
		
	}
}

创建了一个Person类,name 和 age 为字段,sayHello() 为方法

2.对象构造

  • 构造方法(constructor)是一种特殊的方法,用来初始化(new)该类的一个新的对象,其要求构造方法与类名同名,且不写返回数据类型,且没有返回值,可以有0个、1个或多个参数,并通常伴随着new操作一起调用
	public Person(String name, int age) 
	{
		this.name = name;
		this.age = age;
	}
  • 若无定义任何构造方法,系统会自动产生一个构造方法,默认构造方法,默认的构造方法不带参数,并且方法体为空
  • 一个类中可以有多个构造方法,编译器会根据其签名(方法名+参数类型)调用对应的构造方法。此特性称为重载

如:

	Person(String name, int age) 
	{
		this.name = name;
		this.age = age;
	}
	
	Person()
	{
		this.name = "Xiao Hu";
	}
	
  • 默认域初始化:若在构造方法中没有初始化域,将会系统将会初始化为默认值,数值为0,bool类型为false,引用对象为null
  • package hello;
    
    import java.util.Scanner;
    
    public class Hello 
    {
    
    	public static void main(String[] args) 
    	{
    		// TODO Auto-generated method stub
    		
    		Person myself = new Person();
    		myself.sayHello();
    		Person my_friend = new Person("Li ming", 22);
    		my_friend.sayHello();
    		System.out.println("My age is " + myself.age);
    				
    	}
    
    }
    
    class Person
    {
    	String name;
    	int age;
    	
    	Person(String name, int age) 
    	{
    		this.name = name;
    		this.age = age;
    	}
    	
    	Person()
    	{
    		this.name = "Xiao Hu";
    	}
    	
    	public void sayHello() 
    	{
    		System.out.println("Hello my name is "+this.name);
    		
    	}
    }

    如上述代码,调用了不同的构造方法,且在myself的对象中没有初始化age属性,结果如下

Java学习笔记 (一)对象和类_第1张图片

 

你可能感兴趣的:(Java)