zoukankan      html  css  js  c++  java
  • Java入门 之 类和对象(一)

    1. 类

      1.1 类的一般形式

        1.1.1 举例

    class Human
    {
        //声明各类变量来描述类的属性
        String name;
        String sex;
        int age;
        String addr;
        void work(){System.out.println("I am working")}
        void eat(){System.out.println("I am eating")}
    }
    

        1.1.2 关于修饰符

          - private:  只有本类可见

          - protected:  本类、子类、同一包的类可见

          - 默认(无修饰符):  本类、同一包的类可见

          - public:  对任何类可见

    package chap5;
    	
    class Human{
    	String name;
    	String sex;
    	int age;
    	String addr;
    	void work() {
    		System.out.println("I am working");
    	}
    	void eat() {
    		System.out.println("I am eating");
    	}
    	//定义一个方法,返回值为String类型
    	String getState(int time) {
    		String state = null;
    		if(time>=0 && time<=24){
    			if(time>8 && time<17) 
    				state="I am working";
    			else if(time>17 && time<22) 
    				state="I am studing";
    			else if(time>22 || time<7) 
    				state="I am sleeping";
    		}
    		else
    			state="incorrect time";
    		return state;
    	}
    }
    
    	
    public class MethodDemo {
    	public static void main(String[] args) {
    		Human zs = new Human();
    		//设定对象的属性值
    		zs.name = "wayne";
    		zs.age = 29;
    		zs.sex = "male";
    		zs.addr = "Shanghai China";
    		System.out.println(zs.name + ", what will you do at 23 o'clock?");
    		//调用getState()方法,把返回值打印出来
    		System.out.println(zs.getState(23));
    		System.out.println("how about 3pm?");
    		System.out.println(zs.getState(15));
    	}
    }

      1.2 方法的重载(overloading)

        1.2.1 Java根据参数类型和参数的数目来确定调用哪一个方法

    package chap5;
    
    public class OverloadDemo {
    	
    	//定义一些列的方法,这些方法的参数是不同的,通过参数的不同来调用不同的方法
    	void method() {
    		System.out.println("无参数方法被调用");
    	}
    	void method(int i) {
    		System.out.println("参数为int类型被调用");
    	}
    	void method(double d) {
    		System.out.println("参数为double类型被调用");
    	}
    	void method(String s) {
    		System.out.println("参数为String类型被调用");
    	}
    	
    	public static void main(String[] args) {
    		OverloadDemo ov = new OverloadDemo();
    		//使用不同的参数调用方法
    		ov.method();
    		ov.method(4);
    		ov.method(4.5D);
    		ov.method("a string");
    	}
    }
    

        1.2.2 当参数的类型并不能完全匹配时,Java的自动类型转换会起作用

    package chap5;
    
    public class OverloadDemo2 {
    	
    	void method() {
    		System.out.println("无参数方法被调用");
    	}
    	void method(double d) {
    		System.out.println("参数为double方法被调用");
    	}
    	void method(String s) {
    		System.out.println("参数为string方法被调用");
    	}
    	
    	public static void main(String[] args) {
    		OverloadDemo2 ov = new OverloadDemo2();
    		ov.method();
    		ov.method(4);  //无参数为int型方法,Java就找到了最为相似的方法method(double)
    		ov.method(4.5D);
    		ov.method("a string");
    	}
    }

    2. 对象

      2.1 对象的创建和使用

      2.2 构造函数

    3. 关键字 static

      3.1 静态变量

      3.2 静态方法

      3.3 静态常量

    4. 参数传递

      4.1 基本类型的参数传递

      4.2 对象类型的参数传递

    5. 包

      5.1 包的使用

      5.2 导入包

      5.3 在Eclipse中使用包

    6. 小结

  • 相关阅读:
    September 17th 2016 Week 38th Saturday
    【2016-09-16】UbuntuServer14.04或更高版本安装问题记录
    September 16th 2016 Week 38th Friday
    September 11th 2016 Week 38th Sunday
    September 12th 2016 Week 38th Monday
    September 10th 2016 Week 37th Saturday
    September 9th 2016 Week 37th Friday
    c++暂停
    八皇后问题
    ( 转转)Android初级开发第九讲--Intent最全用法(打开文件跳转页面等)
  • 原文地址:https://www.cnblogs.com/wnzhong/p/7892801.html
Copyright © 2011-2022 走看看