java面向对象 权限修饰符 对象属性和类属性 普通方法(对象方法)和类方法

java面向对象

1、java类以及类的成员:属性 方法 构造方法 代码块 内部类

2、面向对象的特征:封装 继承 多态 接口

3、关键字: this super static final

1、编程

1、面向对象编程:从事情中抽离出相关的对象,然后从对象出发,解决问题。可以提高代码的活用性和维护扩张性。

2、面向过程编程:按照过程的一步一步做。

2、类和对象的关系

  • 类:是创建对象的模板,是抽象的,是不占存储空间的

  • 对象:是类的实例化,是具体的,是占用存储空间的

3、类

3.1、类的要求

package com.oop;

public class Test {

}
//class是类的关键字
//cat是类名,可以自定义,
//规范要求:首字母大写,严谨说法(采用驼峰写法)
//类名语法要求:主类名要和文件名一致,其中所说的类是主类
//对于类来说,访问权限修饰符有两个:
//     1、public(主类) 2、默认空(普通类)只可以在同一个包下访问
//一个类文件可以定义多个类,但是只能定义一个主类
//{}是类体
class CatGs{

}

3.2、类的实例化

class Test{
    public static void main(String[] args) {
        Cat cat=new Cat();  //类的实例化,实质就是给类在堆中开辟空间
        //cat():构造方法
        //new 关键字-->告诉虚拟机jvm开辟空间
        //cat:对象名,也就是实际的对象
        //Cat:定义数据类型
    }
}

3.3、类属性和对象属性

(1)、属性(成员变量)对象属性(不用static修饰):(非静态属性):在堆中动态开辟空间

(2)、类属性:公用的(即每一个对象都要使用的叫做类属性,都是公用的)静态:进入jvm中拥有了自己的空间

 //不用static修饰的叫做:对象属性(非静态属性):在堆中动态开辟空间
    //用了static修饰的叫:类属性-->公用的
    //属性(成员变量)
    static String name; //类属性:公用的(即每一个对象都要使用的叫做类属性,都是公用的)静态:进入jvm中拥有了自己的空间
    int age;            //非类属性:(对象属性)
    String sex;

3.4、访问类中的:对象属性和类属性

1、使用对象来访问:对象名.对象属性

2、使用类来访问:类名.类属性

注意:先创建了类,但是但是对象属性并不一定创建出来,所以可以用类访问类属性,但是类并不能访问到对象的属性,还没有创建出来。但是当对象被new出来了之后,类肯定是创建出来了,因为对象在类里,此时用对象去访问类属性则能访问到。

在这里插入图片描述
类是不能访问到对象属性的:如图第三个System

package com.oop;

public class Cat {
    //不用static修饰的叫做:对象属性(非静态属性):在堆中动态开辟空间
    //用了static修饰的叫:类属性-->公用的
    //属性(成员变量)
    static String name; //类属性:公用的(即每一个对象都要使用的叫做类属性,都是公用的)静态:进入jvm中拥有了自己的空间
    int age;            //非类属性:
    String sex;

}

class Test{
    public static void main(String[] args) {
        Cat xiaohua=new Cat();  //类的实例化,实质就是给类在堆中开辟空间

        //使用对象来访问:对象名.对象属性
        System.out.println("小狗的默认年龄:"+xiaohua.age);

        //使用类来访问:类名.类属性
        System.out.println("使用类来访问小狗的默认名字:"+Cat.name);
    }
}

4、普通方法(对象方法)和类方法

1、普通方法 分为对象方法(非静态方法):在堆中动态开辟空间------>(可以和对象属性一样的理解)

2、类方法:(静态方法):进入了jvm中拥有了自己的空间--------->(可以和类属性一样的理解)

注意方法调用时只可以调用已经存在的方法:对象方法既可以调用类方法,也可以调用对象方法。而类方法可以调用类方法,不可以直接调用对象方法

解决方法:可以在类方法中new出来对象就可以调用对象的方法

在这里插入图片描述

记住:先创建类,再动态产生对象,只有new时才会产生对象。

5、权限修饰符

public static String name; //公有的
private int age;           //私有的
protected String sex;	   //受保护的
int gg;					   //默认的
修饰符当前类同包继承(子类)其他类
public
protected×
默认××
private×××
  • protected:new 的时候new的对象为子类,去调用父类的方法及其变量才行,不能直接new父类,那就用不到继承的思想,单纯的只有对象方法的调用了
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值