JAVA温习课堂3

来源:互联网 发布:上海网页美工培训班 编辑:程序博客网 时间:2024/04/30 10:29
15、面向对象    三大特征:封装、继承、多态    类class 是一类事物描述,是抽象的、概念上的定义    对象Object 是实际存在的该类事物的每个个体,也称为实例 instance    修饰符:public private protected    类名定义标准:第一个单词首字母小写后继单词首字母大写    返回值类型         return 返回值;         无返回值 void    使用 new + 构造方法【new + 类名()】,来创建一个新的对象    堆内存存放产生的对象,栈内存的对应对象名存放该堆内存的首地址    使用 对象名.对象成员 来访问对象的成员    每产生一个新的对象,都对应在堆内存中开扩新的内存空间,所以两个对象之间值的改变不相互影响定义一个Person类        public class Person{            //成员变量  属性            String name ;            int age ;            //构造方法            public Person(String name,int age){                this.name = name;                this.age = age;            }            //ToString方法            public String toString() {                return "Person [name=" + name + ", age=" + age + "]";            }            //eat方法和sleep方法            public void eat(){                System.out.println("正在吃饭");            }            public String sleep(int time){                return "睡了" + time + "小时";            }            //getter和setter方法            public void setName(String name){                this.name = name;            }            public String getName(){                return this.name;            }            public void setAge(int age){                this.age = age;            }            public int getAge(){                return this.age;            }        }测试Person类        public static void main(String[] args) {            Person person = new Person("EngineerZhong",20);            person.eat();            String temp = person.sleep(1);            System.out.println(temp);            temp = person.toString();            System.out.println(temp);        }输出结果        正在吃饭        睡了1小时        Person [name=EngineerZhong, age=20]匿名对象【没有名字的对象,通常只需要进行一次方法调用】    不定义对象的句柄,直接调用对象的成员方法。    将匿名对象作为实参传递给一个函数调用。    使用过后,该对象马上变为垃圾,准备被JAVA垃圾回收机制给回收掉    new Person().eat();16、信息的封装和隐藏 private关键字(私有的)    直接操作类中的属性会导致安全性的问题,暴露太多的细节给用户        通过方法操作属性,这是信息的封装        将数据声明为私有的,再提供(public)方法来实现对属性的操作    private 关键字,可以修饰类的成员,一经使用private,该属性将不能在外部进行直接访问。        故在类中提供public修饰的getter 以及 setter 来对private修饰的属性进行访问。17、构造器(构造方法)【构造器与类同名,且没有返回值,没有void】    构造器不是方法,没有返回值,也不能写void    构造器的定义        创建一个对象的时候,一定调用了该类中的某一个构造器        JVM 会为一个类提供一个默认的无参数的构造器        如果在类中没有显式的构造器,则调用JVM提供的默认的构造器        一旦类中显式定义了一个或多个构造器,则系统不再提供默认的构造器    构造器的作用        构造器中对属性进行初始化。        利用构造器提供的参数对类的成员属性进行初始化。    18、方法的重载        方法【函数】        方法的重载【一个类中存在多个同名的方法,参数列表必须不同】            根据传入的参数来区分调用的是哪个方法            不能依靠于参数名            能依靠参数列表                参数个数                参数类型【在个数相同的情况下,需要对比相同位置的参数类型】类代码:            public class GetMax {                public double max(double a,double b){                    return  a > b ? a:b;                }                //方法重载                public double max(double a,double b,double c){                    double result= max(a,b);                    //三元运算符                    return result > c ? result:c;                 }            }测试代码:            public class TestGetMax {                public static void main(String[] args) {                    GetMax max = new GetMax();                    System.out.println(max.max(3.0, 3.5));                    System.out.println(max.max(3.5, 4.5, 2.0));                }            }输出效果:        3.5        4.5    构造器的重载        public class Person{            private name;            private age;            //构造器            public Person(){                name = "EngineerZhong";                age = 20;            }            //构造器重载            //参数列表不相同或者是参数类型不相同            public Person(String name , int age){                this.name = name;                this.age = age;            }            //参数个数相同,数据类型不相同的重载            public Person(String name,long age){                this.name = name;                this.age = age;            }        }
更新时间:2016年9月11日
0 0
原创粉丝点击