• JAVA语言学习-面向对象(1)


    类与对象

    类是JAVA语言中重要的复合型数据类型()。类的实现包括两个部分:成员变量和成员方法("方法"可以看作是C语言中的函数)

    类的声明

    要使用类,首先得对其声明。声明一个类其实就是创建一种新的数据类型。我们利用声明的类来定义类实例,即来获得一个对象。

    声明类的语法有

    [类修饰符] class <类名>{
      //类的内容
    }
    

    例1

    public class FirstDemo{  //public为访问控制修饰符,FirstDemo为类名
      private String str;  //str为成员变量
      public void setPrac(String str){  //setPrac为成员方法(下getPrac同)
        this.str=str;
      }
      public String getPrac(){
        return str;
      }
    }
    

    类成员的访问控制

    • 访问控制修饰符

    类或类的成员需要定义其作用域,即可访问范围。

    如例1中"public",它是类FirstDemo的访问控制修饰符,表示类FirstDemo可以被JAVA中的其他类访问使用。

    其他常用的访问控制修饰符和其作用域有:

    修饰符\可访问范围 同一类 同一包 不同包中的子类 不同包中的非子类
    public Y Y Y Y
    protected Y Y Y N
    default Y Y N N
    private Y N N N

    ("Y"表示YES,即可访问,"N"表示NO,即不可访问。另外子类涉及继承,包和继承的内容之后会有介绍)

    • 类型修饰符

    类型修饰符有finalabstractstatic

    类型修饰符用以说明类或类的成员的一些特殊性质。final和abstract主要与类的继承性质有关(之后会介绍)

    现在主要讲static:

    在一个类中,使用static来修饰的变量和方法(类成员)分别称为类(静态)变量和类(静态)方法,没有使用的就称为实例变量和实例方法。

    类成员属于这个类而不属于这个类的某个对象,它由这个类所创建的所有对象所共有。实例成员则由每一个对象所独有。

    不同对象之间,它们的实例成员互相独立,可以怎么说,任何一个对象改变了自己的实例成员只会影响这个对象本身,而非其他对象中的实例成员。

    对实例成员而言,它只能通过对象来访问,而不能通过类名来访问,类成员则可直接通过类名访问。

    例2

    public class Test{//测试对实例成员和类成员的不同访问形式
      static int i=1;
      int j=1;
      static void printStatic(){
        System.out.println("i="+i);//System.out.println("j="+j);为非法访问
      }
      void print(){
        System.out.println("i="+i);
        System.out.println("j="+j);
      }
      public static void main(String[] args){
        Test.printStatic();//Test.print();为非法访问
        Test.i=2;//Test.j=2;为非法访问
        Test test= new Test();//声明实例化对象test
        test.i=3;
        test.j=3;
        test.print();
        test.printStatic(); 
      }
    } 
    

    例2运行结果

    i=1

    i=3

    j=3

    i=3

    • 类的成员变量

    未完待续(内容如有错误请指正)

  • 相关阅读:
    PowerQuery领域的经典之作“猴子书“中文版来啦!
    【OpenCv光流法进行运动目标检测】
    超市火灾烟气蔓延及人员疏散的matlab仿真模拟
    SpringBoot的SSMP案例(后端开发)
    突破编程_C++_面试(模板编程(3))
    【每日一题】50. Pow(x, n)
    Kotlin 协程真的轻量吗?
    rollout
    《HelloGitHub》第 94 期
    电子图书馆
  • 原文地址:https://www.cnblogs.com/pah-ks-blog/p/16859487.html