• Java入门 之 类和对象(二)


    1. 类

      1.1 类的一般形式

      1.2 方法的重载(overloading)

    2. 对象

      2.1 对象的创建和使用

        - 把对象a赋值给对象b,改变b的属性,a的属性也改变。说明这两个变量只向同一个对象。

    package chap5;
    
    public class HumanDemo2 {
    
    	public static void main(String[] args) {
    		//创建两个对象
    		Human zs = new Human();
    		Human ls = new Human();
    		
    		//对对象zs进行赋值
    		zs.name = "zhongsheng";
    		zs.sex = "male";
    		zs.age = 29;
    		zs.addr = "Shanghai";
    		
    		//把zs对象赋值给ls对象
    		ls = zs;
    		
    		//打印赋值后的结果
    		System.out.println("zs's name: ");
    		System.out.println(zs.name);
    		System.out.println("ls's name: ");
    		System.out.println(ls.name);
    		
    		ls.name = "liushuang";
    		System.out.println("now ls's name: ");
    		System.out.println(ls.name);
    		System.out.println("now zs's name: ");
    		System.out.println(zs.name);
    	}
    }

      2.2 构造函数

        2.2.1 创建对象的语句为Human zs = new Human(); 实际上是调用了一个方法,不过这个方法是系统自带的方法,由于这个方法被用来构造对象,所以把它称为构造函数。

        2.2.2 构造函数的作用是生成对象,并对对象的实例变量进行初始化。系统自带的默认构造函数把所有的数字变量设为0,把所有的boolean型变量设为false,把所有的对象变量都设为null。

    // 类的完整定义
    
    class Human{
        
        //属性
        String name;
        String sex:
        int age;
        String addr;
        
        //构造方法
        public Human(){
            age = 0;
            sex = null;
            addr = null;
            }
    
        // work 方法
        void work(){
            System.out.println("I am working"):
            }
    
        // eat 方法
        void eat(){
            System.out.println("I am eating"):
            }
    }
    

        2.2.3 构造函数的主要作用是用来对对象的变量进行初始化。如果不想把他们都初始化为默认值,就需要自己编写构造函数,通过有参数的构造函数可以把值传递给对象的变量。

    // Human类的完整定义如下
    
    class Human{
        String name;
        String sex;
        int age;
        String addr;
    
        public Human(String hName, String hSex, int hAge, String hAddr){
            name = hName;
            sex = hSex;
            age = hAge;
            addr = hAddr;
            }
    
        void work(){
            System.out.println("i am working");
            }
    
        void eat(){
            System.out.println("i am eating");
            }
    }
    
    // 创建对象(自己编写构造函数时)
    
    Human zs = new Human("zhongsheng", "male", 29, "Shanghai");
    Human ls = new Human("liushuang", "female", "25", "Shanghai");
    Human asu = new Human();    //该语句会报错
    

        2.2.4 Java也提供了构造函数的重载,可以灵活的根据不同的需要利用不同的构造函数进行对象的创建。

        2.2.5 通过this关键字,在构造函数中调用其他的构造函数

    package chap5;
    
    class Human2{
    	String name;
    	String sex;
    	int age;
    	String addr;
    	public Human2() {
    		name = null;
    		age = 0;
    		sex = null;
    		addr = null;
    	}
    	public Human2(String hName, String hSex) {
    		name = hName;
    		sex = hSex;
    		System.out.println("the 2nd constructor has been called");
    	}
    	public Human2(String hName, String hSex, int hAge, String hAddr) {
    		this(hName, hSex);    //通过this关键字调用了第二个构造函数
    		age = hAge;
    		addr = hAddr;
    		System.out.println("the 3rd constructor has been called");
    	}
    	void work() {
    		System.out.println("i am working");
    	}
    	void eat() {
    		System.out.println("i am eating");
    	}
    }
    
    
    public class HumanDemo3 {
    
    	public static void main(String[] args) {
    		Human2 zs = new Human2("zhongsheng", "male", 29, "Shanghai");
    		System.out.println("zs's information: ");
    		System.out.println("name: " + zs.name + "
    sex: " + zs.sex + "
    age: " + zs.age + "
    addr: " + zs.addr);
    
    	}
    
    }

    3. 关键字 static

      3.1 静态变量

      3.2 静态方法

      3.3 静态常量

    4. 参数传递

      4.1 基本类型的参数传递

      4.2 对象类型的参数传递

    5. 包

      5.1 包的使用

      5.2 导入包

      5.3 在Eclipse中使用包

    6. 小结

  • 相关阅读:
    两数之和
    IntelliJ IDEA为类和方法自动添加注释
    IDEA main 函数的快捷键
    Mac终端开启代理
    Pycharm节能模式
    使用正则表达式替换构造字典
    使用代理爬取微信文章
    利用 Scrapy 爬取知乎用户信息
    Scrapy选择器的用法
    Scrapy命令行基本用法
  • 原文地址:https://www.cnblogs.com/wnzhong/p/7899163.html
Copyright © 2020-2023  润新知