• Object and class-java


    Java类和对象

    • Java当中的对象
    • java中的类
    • 构造方法
    • 创建对象
    • 访问实例变量和方法
    • 源文件声明规则
    • java包

    一种面向对象语言

    • 多态
    • 继承
    • 封装
    • 抽象
    • 对象
    • 实例
    • 方法
    • 重载

    对象:是类的一个实例。有状态和行为。
    :是一个模板,描述的是一类对象的行为和状态。例如,车。

    Java当中的对象

    • 如果我们现在看我们周围的世界,就会发现我们身边其实都是对象。这些对象都有自己的状态和行为。不管是活物还是死物。都是具体到某一个个体的对象;在java中就是实例化。

    java中的类

    • 现实生活中的类有很多,他是一个称呼。简单来说就是某一类的统称。比如说我们经常说的车(最基本的状态和行为),那再具体些,(自行车和汽车)。
    • 那java中的类,就是创建java对象的模板

    示例

    public class Dogs{
        String breedint ageString color;
        void barking(){
    
        }
        void hungry(){
    
        }
        void sleeping(){
    
        }
    }
    

    变量

    • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量的声明和初始化都在方法中,方法结束后,变量就会自动销毁。
    • 成员变量:成员变量定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
    • 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型

    构造方法

    每个类都有构造方法。如果代码里没有显式的构造方法,java编译器会为该类提供一个默认构造方法。

    • 创建对象的时候,至少要调用一个构造方法
    • 构造方法必须和类同名
    • 一个类可以有多个构造方法

    示例

    public class Baby{
        public Baby(String name){
            //这个构造器仅有一个String类型的参数:name
        }
    }
    

    创建对象

    对象时根据类创建的。java中用关键字new来创建一个新的对象。
    1. 声明: 声明一个对象,包裹对象名称和类型
    2. 实例化:使用关键字new来创建一个对象
    3. 初始化:使用new创建对象时,会调用构造方法初始化对象。

    示例

    public class Baby{
        public Baby(String name){
            System.out.println("宝宝叫做"+name);
        }
        public static void main(String[] args) {
            //下面开始创建并实例化
            Baby baobao = new Baby("Allen");
        }
    }
    

    访问实例变量和方法

    语法格式

    • 实例化对象:
      Object referenceVariable = new Constructor();
    • 访问类中的变量:
      referenceVariable.variableName;
    • 访问类中的方法
      referenceVariable。methodName();

    示例

    public class Baby{
        int bbAge;
        public Baby(String name){
            System.out.println("名字叫做 "+name);
        }
        //设置年龄的方法
        public void setAge(int age){
            bbAge = age;
        }
        //获得年龄的方法
        public int getAge(){
            System.out.println("年龄为 "+bbAge);
            return bbAge;
        }
        public static void main(String[] args) {
            //创建对象
            Baby bb = new Baby("Allen");
            //通过内部方法来设置年龄
            bb.setAge(3);
            //通过方法来获得年龄
            bb.getAge();
            //或者
            System.out.prinln("年龄+"bb.bbAge);
        }
    }
    

    源文件声明规则

    • 一个源文件中只能有一个public类
      public class Demo{}

    • 一个源文件可以有多个非public类
      class Demo2{} class Demo3{}

    • 源文件名字应该和public 类名字保持一致

    • 如果一个类定义在某个包中,那么package语句应该放在源文件的首行。

    • 如果源文件包含import那么应该放在package语句和类定义之间,如果没有没import,那应该放在源文件最前面

    • improt语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明

    类有若干种访问级别,并且类也分不同类型:抽象类和final类。特殊的还有内部类,匿名类等等

    java包

    主要用来对类和接口进行分类

    import语句

    java中如果给出一个完整的限定名,包括包名、类名,那么java编译器很容易定位到源代码或者类。import就是提供一个合理的路径,使得编译器可以找到某个类

    示例
    import java.io.*;
    
    public class Employee{
       String name;
       int age;
       String designation;
       double salary;
       // Employee 类的构造器
       public Employee(String name){
          this.name = name;
       }
       // 设置age的值
       public void empAge(int empAge){
          age =  empAge;
       }
       /* 设置designation的值*/
       public void empDesignation(String empDesig){
          designation = empDesig;
       }
       /* 设置salary的值*/
       public void empSalary(double empSalary){
          salary = empSalary;
       }
       /* 输出信息 */
       public void printEmployee(){
          System.out.println("名字:"+ name );
          System.out.println("年龄:" + age );
          System.out.println("职位:" + designation );
          System.out.println("薪水:" + salary);
       }
    }
    








    import java.io.*; public class EmployeeTest{ public static void main(String[] args){ /* 使用构造器创建两个对象 */ Employee empOne = new Employee("猪猪侠"); Employee empTwo = new Employee("喜羊羊"); // 调用这两个对象的成员方法 empOne.empAge(26); empOne.empDesignation("厉害的程序员"); empOne.empSalary(1000); empOne.printEmployee(); empTwo.empAge(21); empTwo.empDesignation("普通的程序员"); empTwo.empSalary(500); empTwo.printEmployee(); } }
  • 相关阅读:
    excel表格的jar包
    mac和jar的关系
    BAT批处理文件入门-笔记
    没看完_perl的find模块很全面的讲解!!
    perl怎么拷贝一个文件到另一个文件夹中或者怎么拷贝文件夹到另一个文件夹
    perl 中用到的-*的具体解释,方便查看
    perl语言的笔记--啥是mkpath
    剑指哦佛_我的第一篇博客,哦耶
    ajax创建万能的XmlHttpRequest对象
    动态实例化窗体
  • 原文地址:https://www.cnblogs.com/bomily0212/p/12082180.html
Copyright © 2020-2023  润新知