zoukankan      html  css  js  c++  java
  • Java-面向对象

    类和对象

    类:代表一类事物,抽象的概念。eg:人类,车类,花类
    对象:代表是一个具体,真实存在的事物。eg:凤姐,刘老师门口那辆28自行车,那朵百合
    类是对象模板,对象是类的一个具体的体现
    类:特征和行为
           属性和方法
        属性—变量
    Java:属性和方法来描述一类事物,类
    Java中类的格式(创建引用类型)
    class 类名{
    属性;
    方法;
    }
    方法:返回值类型 方法名(参数列表){
            方法体
    }

    //设计一个人类,属性:姓名,年龄,性别 方法:说话
    class Person{
        String name;
        int age;
        String sex;
        void speak(){
            System.out.println("嘻嘻哈哈");
        }
    }

    Java中的对象:先设计类,然后根据类来创建对象,之后通过对象来实现其功能
    类名 对象名=new 类名()
    在程序运行的时候,根据类来创建对象,在main方法当中创建对象
    访问对象的属性和方法
    对象名.属性名
    对象名.方法名

    public class Test1 {
        public static void main(String[] args) {
            Car car=new Car();
            car.name="奔驰";
            car.color="蓝色";
            car.price=100;
            car.type="豪华型";
            car.start();
            car.run();
            car.stop();
        }
    }
    class Car{
        String name;
        String color;
        double price;
        int speed;//默认0
        String type;
        void start(){
            speed=speed+100;
            System.out.println("加速以后的速度:"+speed);
        }
        void run() {
            System.out.println("当前的速度:"+speed);
        }
        void stop(){
            speed=0;
            System.out.println("刹车以后的速度:"+speed);
        }
    }

    构造方法

    1、使用构造方法的原因:创建出来对象以后,给对象的属性赋值过程,很麻烦,希望能在创建对象的时候,直接给对象的属性赋值,并且可以执行一些初始化的操作
    2、构造方法格式:
    类名(参数列表){
    初始化的操作
    }
    3、构造方法的特点:
    结构上:没有返回值类型,而且方法名跟类名一致
    功能上:只有当创建对象(new)来调用构造方法,执行一些初始化的操作(eg:给对象的属性赋值)
    创建对象的格式(标准版):类名 对象名=new 构造方法

    public class Test1 {
        //构造方法:在new(创建对象)才调用构造方法,构造方法实现是一些初始化的操作(给属性赋值)
        //构造方法:没有返回值类型,名字跟类名一致
        //构造方法格式:类名(参数列表){初始化的操作}
        public static void main(String[] args) {
            Person person=new Person("张三",20,"男");
            //创建Person对象,调用构造方法,给name,age,sex赋值
            person.show();    
            Person person2=new Person("李四",25,"男");
            person2.show();
        }
    }
    //设计一个Person类:属性:姓名,年龄,性别
    //方法:显示信息(姓名,年龄)
    //通过构造方法来创建该Person对象,并且给年龄,姓名,性别属性赋值
    class Person{
        String name;
        int age;
        String sex;
        Person(String name1,int age1,String sex1){
        //当创建(new)Person对象时,系统会自动调用Person的构造方法,把外界传入的参数值name1赋值给name属性,...
            name=name1;
            age=age1;
            sex=sex1;
        }
        void show(){
            System.out.println(name+","+sex+","+age);
        }
    }

    4、this关键字:当前(对象)的
    修改构造方法:企业开发中,构造方法格式,目前较为固定

    class Person{
        String name;
        int age;
        String sex;
        Person(String name,int age,String sex){
            this.name=name;//this.name:当前对象的name属性
            this.age=age;
            this.sex=sex;
        }
        void show(){
            System.out.println(name+","+sex+","+age);
        }
    }

    如果我们没有编写构造方法,则系统会默认地给我们添加一个无参无内容的空的构造方法
    如果我们自己写了构造方法,系统默认提供的构造方法会被覆盖

    public class Test1 {
        public static void main(String[] args) {
            Emp emp=new Emp();//默认调用系统默认添加的无参的构造方法
            emp.name="haha";
            System.out.print(emp.name);
        }
    }
    class Emp{
        String name;
        int age;
        //系统会默认,给我们添加了一个无参无内容一个空的构造方法
        Emp(){}//我们看不见,是系统默认的
    }




  • 相关阅读:
    不同进程间消息互发
    不同进程间消息互发
    div滤镜结合ajax,实现登录
    网页自适应不同浏览器和分辨率[转]
    DIV样式汇总
    用CSS中的Alpha实现渐变
    JavaScript中的null和undefined
    CSS教程:div垂直居中的N种方法[转]
    浏览器不兼容原因及解决办法
    JavaScript验证时间格式
  • 原文地址:https://www.cnblogs.com/peiya/p/12682764.html
Copyright © 2011-2022 走看看