zoukankan      html  css  js  c++  java
  • java_oop_类与对象

    类与对象

    方法

    =========================================

    对象的概念
    类与对象的关系
        万物皆对象
            属性(名词)
                对象的属性
                属性的值
            方法(动词)
                对象执行的操作
            对象:用来描述客观事物的一个实体,由一组属性和方法构成
            对象有一个特征叫封装
                对象同时具有属性和方法两项特征
                对象的属性与方法通常被封装在一起,不能分割
        从对象抽象出类
            抽取出不同对象共同的属性与方法来形成类
                例如两个人都是顾客类
            类是对象的类型
                不同于int类型:类这个类型有方法
        
        类是抽象的概念,仅仅是模板,比如说"人"
        对象是一个你能看到的,摸的着的具体实体
        
        
        宠物--现实世界的对象
        如何在计算机中描述它
        从现实中抽象出类分三步:
            1找出它的各类
            2找出它的属性
            3找出它的行为
        用面向对象的思想描述世界
            第一步:发现类    根据对象抽象出类
            第二步:发现类的属性
            第三步:发现类的方法
            //第一步定义类名
            class Dog{
            //第二步编写类的属性
                String name="旺财";//昵称
                int health=100;//健康值
                int love=0;//亲密度
                String strain="拉布拉多犬";//品种
                
            //第三步编写类的方法
                public void print(){
                //输出狗信息的代码
                }
            }
    ===============================

    声明类的语法和步骤
    类的命名与规范
    类的实例化
    对象的使用
    null
    类属性的默认初始值

        类概述
        所有的java程序都以类class为组织单元
        关键字class定义自定义的数据类型
            String是jdk定义的一个类型
            class是用来自定义类型的
    --------------------------------    
        声明类的语法和步骤
        写属性就相当于类的声明
            public class 类名{
                //定义属性部分
                属性1的类型 属性1;
                ......
                属性n的类型 属性n;
                //定义方法部分
                方法1;
                方法m;
            }
        public class Test{
        //声明了三个属性
        int age=10;
        String name;
        int[] nums;
        //声明方法
        public void test(){
            System.out.println("aaaaaaaa");
        }}
    ------------------------------
        类的实例化(创建对象)
        创建实例(对象)
            类名 实例名 = new 类名();//new后面跟的是构造方法
        引用实例成员:使用.进行以下操作
        引用实例的属性:实例名.属性
        引用实例的方法:实例名.方法名()
    -------------------------------------------------

    类中属性的默认值

    1.数字类型(int,short,byte,long,float,double)的初始化默认值是0

    2.boolean的初始化默认值是false

    3.引用类型的初始化默认值是null。例如字符串类型

    类中方法中的属性默认值是没有的

    这是两者之间的一个重要区别。所以方法中的属性使用时一定要赋值。

    package com.fgy.eclipse;
    
    public class DogTest {
    
        public static void main(String[] args) {
            Dog d1 = new Dog();
            d1.age = 18;
            d1.name = "white";
            d1.pz = "11";
            
            int age=d1.age;//既可以定义一个变量来接收实例的属性
            System.out.println(d1.age);//也可以直接输出
            
            Dog d2 = new Dog();
            d2.age = 5;
            d2.name = "black";
            d2.pz = "22";
            
            Dog d3=null;
            d3.age=20;
        }
    }

    ===============================================

    类与文件的关系
    包概述
    如何使用包
    包的命名规范
    导入类及类的搜索顺序
    jdk中提供的包


        类与文件的关系
        1一个文件中可以包含有多个java类
        2但是最多只有一个public类,可以没有,但是一般来说一个文件中有一个public类
        3java文件的名称要与其中的public类名一致
    package com.fgy.eclipse;

    public class Demo2 {
    }

    class fish{
    }
    ----------------------
        包概述
        用于组织java类的一种机制
        作用:
            相关功能的类可以以包的形式组织在一起
            避免命名冲突
            访问控制
    ----------------------
        使用包
        package关键字
    ----------------------
        导入类
        import关键字,使用不同包中的类
        单类型导入:import p1.p2.classname;
        按需导入:import p1.p2.*;
        ctrl+shift+o快速导入类
        
        类的搜索顺序(按优先级依次降低):
        1当前编译单元(即同一个类的之中)
        2单类型导入(单类型就是指定的,确定的,例如import com.sh.dj.Dog)
        3同一个包中的其它类
        4按需导入(import com.sh.dj.*)
    -----------------------------------

    不需要显式导入的类,主要是jdk中相关的类。例如java.lang包中的类,
    String是其中之一类
    System也无需显式导入

    以下是jdk中的部分包
    java.lang  核心类
    java.util  工具类,集体框架
    java.io  输入与输出流
    java.nio  新输入与输出流
    java.sql  JDBC相关类
    java.net  网络编程类
    java.time  时间处理类
    java.swing   UI类

    =====================================

  • 相关阅读:
    《新人口论》摘录
    中国历史上农村剩余劳动力的安置政策
    sql 善后处理的一些代码
    淘宝骗家实录
    什么决定着我们的工作
    【原创】打造具有EnableWindow功能的SPYXX
    文件被锁住删除不了的一种解决方法
    去除页面中所有的标记
    用动网论坛做BUG管理,感觉还不错
    同事刚告诉我一不错的东东VNN
  • 原文地址:https://www.cnblogs.com/createyuan/p/5644656.html
Copyright © 2011-2022 走看看