java复习----类与对象1

本文深入讲解Java中的类变量、实例变量、常量、方法及方法重载等核心概念,并介绍了包管理和访问权限等内容。
类变量和实例变量

用关键字static修饰的成员变量称作静态变量类变量,类变量是与类相关联的数据变量
类的所有对象共享类变量
class A{
float x;//实例变量
static int y;//类变量
}
实例变量仅仅是和相应的对象关联的变量
不同对象的实例变量互不相关,即分配不同的内存空间

常量

用关键字final修饰的成员变量为常量
class A{
float x;
final int MAX=20;
}
final修饰的成员变量不占用内存,这意味着在声明final成员变量时,必须要初始化。
对于final修饰的成员变量,对象可以操作使用,但不能做更改操作
不一定是静态变量,加上static 就是了

方法

float area (int a, int b ) (int a,b叫做参数列表)
方法体中声明的变量以及方法的参数称作局部变量,局部变量仅仅在该方法内有效。
方法的参数在整个方法内有效,方法内定义的局部变量从它定义的位置之后开始有效。

方法的分类

构造方法:用来创建对象
实例方法
类方法:用关键字static修饰的方法
实例方法可以调用该类中实例方法或类方法
类方法只能调用该类的类方法,不能调用实例方法,
实例方法可以操作实例变量和类变量
类方法只能操作类变量,不能操作实例变量

实例方法必须通过对象来调用
类方法可以通过类名调用

方法 重载

方法重载是指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同
参数不同:参数的个数、类型不同
方法的返回类型和参数名字不能作为比较依据
也就是说 public run(int a)和public run(int b)是错误的重载
构造函数的重载的作用:多种方式创建对象
例子:
注意这是整个java代码,文件名字是testone.java,psvm要包括在一个classtest类里面

package revive;
class testone {
        int area(int x, int y) {
            return x * y;
        }
        double area(double x, double y) {
            return x * y;
        }
    }
class test {
        public static void main(String[] args) {
        testone a = new testone();
        System.out.println(a.area(20, 20));
        System.out.println(a.area(1.1, 2.2));

    }
}

关键字this:解决成员变量和局部变量重名的问题
使用this区分成员变量和局部变量:
参数是局部变量,

void setSide(float sideA,float sideB,float sideC) { 
        this.sideA=sideA;    //使用this区分成员变量和局部变量
        this.sideB=sideB;
        this.sideC=sideC;
    }

ava提供一种有效管理类的机制,包是类、接口或子包的集合
package 语句指明该源文件定义的类所在的包,一般格式为:
package 包名;
== package 包名.子包名.…….子包名;==

例子 在两个不同的包,一个red.java建一个类red,另一个testred.java调用red的方法
在这里插入图片描述
testred.java
可以看到需要写import 包名.类名
red类必须是Public class{

ackage revive;

import chaxun.red;

public class testred {
    public static void main(String[] args) {
        red red1=new red();
        System.out.println(red1.geta());
    }
}

导包

导入一个包中的所有类(星号)
import java.awt.*;
导入一个包不会自动导入它的子包,因此,
import java.awt. ✳;
import java.awt.event.
;
在这里插入图片描述

类的访问权限

类A中的private成员:
在另外一个类B中用类A创建一个对象后,
该对象不能访问自己的private成员
类A的类体的方法中可以访问自己的private成员
类A中创建类A的对象时可以访问自己的private成员
在这里插入图片描述
public:
类A中的public成员:
在另外一个类中用类A创建一个对象后,
该对象可以访问自己的public成
protect:
类A中的protected成员:
在另外一个类B中用类A创建一个对象后,
若类B与类A在同一个包中
该对象可以访问自己的protected成员
友好(啥也不写):
类A中的友好成员:
在另外一个类B中用类A创建一个对象后,
若类B与类A在同一个包中,不在同一个包不行,见red例子
该对象可以访问自己的友好成员
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值