JAVA温习课堂3

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值