14. java面向对象 - 基础

一、面向对象主线

1. Java类及类的成员:属性、方法、构造器、代码块、内部类
2. 面向对象三大特征:封装、继承、多态、(抽象性)
3. 其他关键字:this、super、static、final、abstract、interface、package、import
class Person{
    //属性,或成员变量
    String name;
    boolean isMarried;
    //构造器
    public Person(){}
    public Person(String n, boolean im){
        name = n;
        isMarried = im;
    }
    //方法,或函数
    public void walk(){
        System.out.println("running");
    }
    public String display(){
        return "name is" + name + "Marry is" + isMarried;
    }
    //代码块
    {
        name = "Mahuateng";
        age = 10;
        isMarried = true;
    }
    //内部类
    class pet{
        String name;
        float weight;
    }
}

二、类和对象的创建

1. 创建一个文件名为PersonTest的.java文件

package china.java.demo;

public class PersonTest {
    public static void main(String[] args) {
        //创建Person类对象;
        Person p = new Person();
        p.talk("English");
    }
}

class Person {
    //属性
    String name;
    int age = 1;
    boolean isMale;
    //方法
    public void eat() {
        System.out.println("吃饭");
    }
    public void talk(String language) {
        System.out.println("此人说:" + language);
    }
}

三、类中方法的声明和使用

1. 方法定义

1. 方法声明:权限修饰符 返回值类型 方法名(形参列表){方法体}
2. 权限修饰符:private、public、缺省、protected
3. 返回值类型:如果有返回值,则必须在方法声明时,指定返回值的类型。同时,方法中需要使用return关键字来返回指定类型的变量或常量。如果没有返回值方法声明使用void,不用写return,若使用return;
4. 方法名:小驼峰命名法,类名大驼峰、常量ROUND_PIE
5. 形参列表:(数据类型1 形参1,数据类型2 形参2)

2. 返回值

1. 使用范围:方法体中
2. 作用:① 结束方法 ② 针对有返回值类型的方法,使用'return 数据'方法返回所要的数据
3. 注意点:return 关键字后面不可以声明执行语句
1. 无返回值的 - void(就是没返回值的意思)
class Customer{
    String name;
    int age;
    public void eat(){
        System.out.println("吃饭");
    }
    public void getAge(int age){
        System.out.println(age);
    }
}

2. 有返回值的
class Customer{
    String name;
    int age;
    public String getName(){
        return name;
    }
    public String getNation(String nation){
        return nation;
    }
}

四、对象数组

public class StudentTest {
    public static void main(String[] args) {
        //声明一个Student类型的数组
        Student[] stu = new Student[20];
        for (int i = 0; i < stu.length; i++) {
            //给数组元素赋值
            stu[i] = new Student();
            //给stu的属性赋值
            stu[i].number = (i + 1);
            stu[i].state = (int) (Math.random() * (6 - 1 + 1) + 1);
            stu[i].score = (int) (Math.random() * (100 + 1));
        }

        StudentTest myStu = new StudentTest();
        myStu.print(stu);
        myStu.searchState(stu, 3);
        myStu.sort(stu);
    }

    //遍历Student数组的操作
    public void print(Student[] stu) {
        for (int i = 0; i < stu.length; i++) {
            System.out.println(stu[i].info());
        }
    }

    //查找班级方法
    public void searchState(Student[] stu, int state) {
        for (int i = 0; i < stu.length; i++) {
            if (stu[i].state == state) {
                System.out.println(stu[i].info());
            }
        }
    }

    //根据成绩排序
    public void sort(Student[] stu) {
        for (int i = 0; i < stu.length - 1; i++) {
            for (int j = 0; j < stu.length - 1 - i; j++) {
                if (stu[j].score > stu[j + 1].score) {
                    Student temp = stu[j];
                    stu[j] = stu[j + 1];
                    stu[j + 1] = temp;
                }
            }
            System.out.println(stu[i].info());
        }

    }
}

class Student {
    int number;
    int state;
    int score;

    public String info() {
        return "学号" + number + "  " + "年级" + state + "成绩" + score;
    }
}

原文地址:https://www.cnblogs.com/hq82/p/12058514.html

时间: 2024-10-12 18:35:26

14. java面向对象 - 基础的相关文章

【Java面向对象基础(三)】面向对象思想

[喵"的Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinking in Java中提到“Everything is an object”,即万物皆对象.这里的“对象”指的是任何实体或者任何可以当作实体看待的“虚幻的事物”.比如现实中的人(男人.女人.老人.小孩而...).动物(大象.狮子.猴子...).桌子.凳子.汽车.ATM机等等,也可以使看不见摸不着的空气(氧气.二氧化碳.氮气

【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

[喵"的Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder 1.String String是Java中的一个final类,主要用于字符串的处理. 1.1 不可变性 String内的字符串是不可变的,每一次修改都会重新生成一个新的String对象实例. 例: 1 // 在堆中会创建一个"Hello"字符串实例,把地址赋给对象a 2 String a = new String("Hello&

【Java面向对象基础(一)】数据类型与运算符

[喵"的Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符 1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数据类型 字节数 二进制位数 最小值 最大值 默认值 byte 1 8-bit -2^7 +2^7 - 1 0 short 2 16-bit -2^15 +2^15 - 1 0 int 4 32-bit -2^31 +2^31 - 1 0 long 8 64-bit -2^63 +2^63 - 1 0

关于JAVA面向对象基础整理以及个人的理解(适合初学者阅读)

JAVA的基础语法等都跟C有很大的相似之处,所以这里就不多啰嗦了.直接从数组开始. 数组: 1.声明 int [] a; 在声明的过程中,并没有分配空间给数组.我们可以在声明的同时,用new来分配相应的空间 int [] a = new int[100]; 这里开辟了一个空间为100大小的数组,内存分配也完成了. 我们可以在声明的同时也确定元素个数 int [] a = new int[]{1,3,5,7,9}; 面向对象(重点) class Human{ int height; void br

java面向对象基础知识

一.面向对象与面向过程的区别: ①所处的角色不同:前者指挥者,后者执行者:②所需知道的事情不同:前者知道哪些是做这些事情的人就可以,不需了解具体的事情操作的过程.后者需要具备应有的技能来做这些事情. 二.面向对象的基本操作过程 指挥者采用面向对象思想,通过创建类,来创建统一的属性值[成员属性]和(做事的)方法[成员方法]. 通过创建的类或者jdk已有的类,来创建具体的对象,属性值明确,方法明确. 举例:创建类 1 package com.oracle.demo02; 2 3 public cla

JAVA面向对象基础问答

请简要写出搭建java开发环境的步骤和java跨平台原理. 答: 搭建开发环境步骤:1.下载安装JDK.2.配置path路径.  Java跨平台原理:java针对不同平台开发了不同版本的JVM,不同平台安装上对应版本的JVM之后  使用java代码编写的程序通过一次编译生成统一的字节码文件,就可以在JVM虚拟机中运行  所以只需开发一套使用java代码编写的程序,就可以在不同平台上进行运行,这就是java跨平台原理. int和Integer都可以代表一个整数,这两者在使用上有什么区别吗?为什么J

java面向对象基础

思想 面向过程:是分析出解决问题所需的步骤,从上往下步步求精,自顶向下的编程,最重要的是模块化思想,考虑实际的实现 优点:性能高 面向对象:以事物为中心,将事物高度抽象为对象,对象包括属性与行为. 优点:易重用.易扩展.易维护.适合大型项目 联系与区别 联系:面向对象也含有面向过程的思想 区别:面向过程是一件事"该怎么做",面向对象是一件事"该让谁来做" 举例 汽车发动  汽车到站 面向过程  汽车发动与汽车到站分别为两个事件,形成两个函数,依次调用 面向对象  关

java面向对象基础复习

this关键字用法: 表示当前对象的引用,即调用成员属性和方法时,表示当前正在调用的对象 调用其他构造方法(必须放在第一行): super关键字 指向自己(直接)父类对象的一个指针,可以调用父类的成员属性和方法 调用父类中的某一个构造函数 面向对象三大特征: 继承 继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力. 子类拥有父类非private的属性和方法 JAVA不支持多继承,继承关系是传递的 父类是子类的一般化,子类是父类的特殊化(具体化) 封装 属性描述

Java 面向对象基础

面向对象的基础 局部变量和成员变量区别: 1)定义的位置不同    成员变量直接定义在class中    局部变量在某个{}中或者再某个方法中 2)在内存中的位置不同    对象的成员变量会在内存中的堆内出现    局部变量只能出现在栈内存中 3)生命周期不同    成员变量因为会进入对内存,所以程序结束前不会消失    局部变量因为方法执行完毕之后弹栈,所以会随着弹栈消失 4)初始值不同    成员变量因为会保存在堆内存中,所以会有初始值    局部变量只能赋值之后才能使用! 原文地址:htt