zoukankan      html  css  js  c++  java
  • java基础:4.1 对象和类(一)、静态量、public、private

    目录

    1、定义通用类

    2、无引用对象数据的默认值

    3、对象的赋值

    4、静态变量、常量、方法

    5、可见修饰符public

    6、private


    从这章节开始,要慢慢养成——面向对象编程的思维,使用对象进行程序设计。

    1、定义通用类

    引入——通用类来定义同一类型的对象,一个对象的属性/特征/状态——数据域(变量)表示,一个对象的行为——方法表示。

    //UML类图中的表示方法
    ClassName(parameterName:parameterType...)
    {
        ...
        methodName(parameterName:parameterType):return
    }
    
    //定义一个类
    public class TestClass {
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Circle1 NO1 = new Circle(5);   //使用构造方法创建对象
    		Circle1 NO2 = new Circle(3);
    		double s1=NO1.getArea(); //调用对象上的实例方法的过程称为调用对象
    		NO2.setRadius(10);
    		double s2=NO2.getArea();
    		System.out.printf("s1=%f,s2=%f",s1,s2);
    		System.out.println(" Area is " + new Circle1(50).getArea()); //有时候,一个对象在创建之后并不需要引用。在这种情况下,可以创建一个对象,而并不将它明确地賦值给一个变量。
    	}
    }
    
    class Circle{
        double radius;
        Circle(){         //无参构造方法(默认)
            radius=1;
        }
        Circle(double newRadius){
             radius = newRadius;
        }
        double getArea(){   //实例方法:因为只能在具体的实例上调用
            return radius*radius*Math.PI;
        }
        void setRadius(double newRadius){
            radius = newRadius;
        }
    }
    
    class Student{
        String name;
        int age;
        boolean isSci;
        char gender;
    }

    2、无引用对象数据的默认值

    对于上面程序中申明的String name;     int age;   boolean isSci;    char gender;

    如果一个引用类型的数据域没有引用任何对象,引用类型数据域的默认值是rum, 数值类型数据域的默认值是0, boolean 类型数据域的默认值是false, 而char 类型数据域的默认值是’u000'

    Student student = new Student();
    System.out.println(student.name);
    System.out.println(student.age);
    System.out.println(student.isSci);
    System.out.println(student.gender);

    显示的结果是:

    null
    0
    false

    3、对象的赋值

    我们在创建对象时,使用的语句是:Student student = new Student();简单的说,即:student是一个包含对Student对象引用的变量。对引用类型变量来说,对应内存所存储的值是一个引用,是对象的存储地址。

    对于语句:Circle1 C1 = new Circle(5); Circle1 C2 = new Circle(3);

    赋值:C2=C1;是将C1的引用赋值给C2,他俩指向了同一个Circle对象C1。原先C2指向的内存空间成为了垃圾,将被java运行系统检测后自动回收(垃圾回收)

    4、静态变量、常量、方法

    静态变量被类中的所有对象所共享。静态方法不能访问类中的实例成员。

    首先,什么是实例/实例变量。Circle1 C1 = new Circle(5);Circle1 C2= new Circle(3); 

    C1 C2即是我们创建的两个实例,radius分别等于5和3;radius就是两个实例变量。实例变量是绑定到类的某个特定实例的

    如果想让一个类的所有实例共享数据,就要使用静态变量/类变量

    若在class Cricle1{...}中增加一个静态变量/静态方法

    //静态变量:
    static int numberOfObjects; 
    
    //静态方法:
    static int numberOfObjects(){
        return numberOfObjects;
    }
    
    //静态常量
    final static int PI = 3.141592654;

    申明为静态量后,该类的所有对象共享其值。

    main方法也是静态方法

    5、可见修饰符public

    可以在方法和数据域前使public修饰符,表示它们可以被任何其他的类访问。

    如果没有可见修饰符public,则只能被同一个包(程序第一行申明:package packageName)中的任何一个类访问。

    6、private

    private : 限定方法和数据域只能在它自己的类中被访问,只能应用在类的成员上。

  • 相关阅读:
    音视频解码流程
    线程及视频解码过程6-16
    如何快速重置OUTLOOK2013,2016到初始配置状态,outlook 修改数据文件位置
    MERGE函数使用
    ExecuteSql、ExecuteSqlReader的区别
    MySQL中char与varchar区别,varchar最大长度是多少?
    如何删除本地项目文件中的.svn文件
    ETL-Kettle学习笔记(入门,简介,简单操作)
    npm run build 报错 semversemver.js:313 throw new TypeError('Invalid Version: ' + version)
    React Editor
  • 原文地址:https://www.cnblogs.com/l20902/p/10610951.html
Copyright © 2011-2022 走看看