Java(3)

Wesley13
• 阅读 832

面向对象编程思想:抽象  继承  多态  封装

对象:万事万物皆对象.

类:把具有相同属性和方法的对象抽象出来形成的几何体!

类是对象的抽象,对象是类的具体!

如何描述一个类

  1. 属性(属性不初始化时也有初始值,会自动初始化,整形为0  小数型为0.0    boolean型为 false  引用类型(例如string 类型)为null 而变量不赋初始值时编译会报语法错误)

  2. 方法

    public class Test
    {
        int id;
        boolean i;
        double ide;
        public static void main(String[] args)
        {
            int a=0;
            Test t1 = new Test();
            System.out.println(a);
            System.out.println(t1.id);
            System.out.println(t1.ide);
            System.out.println(t1.i);
        }
        //最后输出 0  0  0.0   false
    }
    

如何初始化一个对象

通过  new    类名()    来产生一个对象!

C#以及JAVA中是没有全局变量的,而有全局常量

void:不是无返回类型,而是不返回值!

构造函数(实例化对象的时候会使用)(是类中的一个特别函数,与类名相同,并且无返回类型,注意不是无返回值,每个类中都会有一个隐式的无参构造函数(不需要手动写),同时构造函数可以重载):

public class Test
{
    public Test()
    {
        System.out.println("使用构造函数来实例化一个对象!");
    }
    public static void main(String[] args)
    {
        
        Test t1 = new Test();        //在此句执行的时候打印   使用构造函数来实例化一个对象!

    }
    
}

this关键字以及重载注意事项和构造方法的重载

重载:在同一个类中,有两个以上的相同方法,方法名相同(返回类型,方法名字),但参数(参数个数,参数的数据类型)不同,重载通常用来丰富方法功能

在写有参数构造方法时,将会覆盖掉以前的隐式构造函数,从而使以前的构造方法不存在,因此此时在实例化对象的时候特别注意要将参数写进去!

public class Test
{
    int id;
    String name;
    int gg;
    public Test()
    {
        System.out.println("使用构造函数来实例化一个对象!");
    }
    
    public void setName(String name)
    {
        this.name=name;
    }

    public String getName()
    {
        return this.name;
    }

    public void setId(int id)
    {
        this.id=id;
    }

    public int getId()
    {
        return this.id;                    //this关键字指的就是这个类的对象本身
    }
    
    public void setGg(int gg)
    {
        gg=gg;
    }
        
    public int getGg()
    {
        return this.gg;
    }

    public static void main(String[] args)
    {
        
        Test t1 = new Test();        //在此句执行的时候打印   使用构造函数来实例化一个对象!
        t1.setName("昊天");
        t1.setId(11);
        t1.setGg(450);
        System.out.println("id:"+t1.getId()+" name:"+t1.getName()+" gg:"+t1.getGg());
        Test t2 = new Test();        
        t2.setName("加油");
        t2.setId(181);
        t2.setGg(6000);
        System.out.println("id:"+t2.getId()+" name:"+t2.getName()+" gg:"+t2.getGg());
        
    }
    
}

最后输出结果:

Java(3)

可见如果不使用this关键字,只能给一个对象赋值,而剩下的对象的值仍然是第一个对象的值

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
半臻 半臻
3年前
Python基础6——面向对象
14面向对象14.1面向对象基础​面向对象是一种编程思想,处理面向对象编程以外,还有面向过程编程​三大特征:1.封装2.继承3.多态​面向过程与面向对象的区别1.面向过程:自己动手洗衣服,拧衣服、晾衣服2.面向对象:构造一个洗衣机对象,让洗衣机对象完成14.2类和对象​类:相同属性和功能的一类事物。​人是一个类,张三(
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java常用类(2)
三、时间处理相关类Date类:计算机世界把1970年1月1号定为基准时间,每个度量单位是毫秒(1秒的千分之一),用long类型的变量表示时间。Date分配Date对象并初始化对象,以表示自从标准基准时间(称为“历元”(epoch),即1970年1月1日08:00:00GMT)以来的指定毫秒数。示例:packagecn.tanjian
Wesley13 Wesley13
3年前
java8新特性
Stream将List转换为Map,使用Collectors.toMap方法进行转换背景:User类,类中分别有id,name,age三个属性。List集合,userList,存储User对象1、指定keyvalue,value是对象中的某个属性值。 Map<Integer,StringuserMap1userList.str
Wesley13 Wesley13
3年前
java面向对象的三大特性
java面向对象的三大特性1.封装,把事物封装成抽象的类,通过访问控制符把自己的成员变量和函数对不可信的进行信息隐藏以及提供方法给可信的类和对象来操作。2.继承,继承可以使用现有类的所有功能和成员变量,并且无需重新编写原来的类的情况下对这些功能进行扩展。3.多态,实现了对代码的复用,多态具体体现为重载和重
Wesley13 Wesley13
3年前
java面试考点解析(4):面向对象思想、系统架构设计
\ 一、面向对象思想 \1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:\抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象
Wesley13 Wesley13
3年前
Java面试题(一)
看到一篇不错的java面试题的文章,自己整理一下,作为备用吧!Java面试题面向对象的特征有哪些方面?封装最常见的是把属性私有化封装在一个类里面,只能通过方法去访问继承子类继承父类,从而继承了父类的方法和属性抽象
Wesley13 Wesley13
3年前
JAVA面向对象
一、java面向对象的特征?答:java面向对象的特征:封装、继承、多态、抽象。如果问java面向对象的三大特征是什么?那就是封装、继承、多态,但说到面向对象,还有一个很主要的特征就是抽象。1、封装a)铺垫:Java把真实世界中某些具有共同特征的实体抽象成Java中的类,类的实例就是一个对象,而对象和真实世界的实体是一一
小万哥 小万哥
10个月前
Java 构造函数与修饰符详解:初始化对象与控制权限
Java构造函数Java构造函数是一种特殊的类方法,用于在创建对象时初始化对象的属性。它与类名相同,并且没有返回值类型。构造函数的作用:为对象的属性设置初始值执行必要的初始化操作提供创建对象的多种方式构造函数的类型:默认构造函数:无参数的构造函数,如果用户