一、面向对象主线

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;
}
}

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

  1. 【重走Android之路】【Java面向对象基础(三)】面向对象思想

    [重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想   1 面向对象的WWH   1.1 What--什么是面向对象         首先,要理解“对象”.在Thinkin ...

  2. 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

    [重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder   1.String String是Java中的一个final ...

  3. 【重走Android之路】【Java面向对象基础(一)】数据类型与运算符

    [重走Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符   1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数 ...

  4. 086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结

    086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明 ...

  5. 085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用

    085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用 本文知识点:构造方法调用 说明:因为时间紧张,本人写博客过程中只是 ...

  6. 084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字

    084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字 本文知识点:构造方法-this关键字 说明:因为时间紧 ...

  7. 083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法

    083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法 本文知识点:构造方法-带参构造方法 说明:因为时间紧张, ...

  8. 082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法

    082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法 本文知识点:构造方法-无参构造方法 说明:因为时间紧张, ...

  9. 081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字

    081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字 本文知识点:new关键字 说明:因为时间紧张,本人写博客过程中只是 ...

随机推荐

  1. UESTC1977-图书馆(AC自动机应用)

    M - 图书馆 Time Limit: 2000 MS     Memory Limit: 256 MB Submit Status 电子科技太学图书馆创建于1956年,馆舍总面积66974平方米,各 ...

  2. WebAPI接口的自动化测试1

    自动化测试要满足四个条件: 1 - 自动化用例能够完成所有测试步骤   -------- postman不支持  没有完整的用例管理系统 2 - 每个用例的输入数据,必须要自动填入  -------- ...

  3. .Net Core 3.0 以及其前版本编写自定义主机,以允许本机程式(转载)

    像所有的托管代码一样,.NET Core 应用程序也由主机执行. 主机负责启动运行时(包括 JIT 和垃圾回收器等组件)和调用托管的入口点. 托管 .NET Core 运行时是高级方案,在大多数情况下 ...

  4. Vue-router的实现原理

    参考博客:https://www.jianshu.com/p/4295aec31302 参考博客:https://segmentfault.com/a/1190000015123061

  5. JS中forEach和map的区别

    共同点: 1.都是循环遍历数组中的每一项. 2.forEach()和map()里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input. 3.匿名函数中 ...

  6. 重新精读《Java 编程思想》系列之向上转型与向下转型

    前言 今天重读了一下向上转型与向下转型,有些新的体会,了解了向上转型的好处,及如何向下转型.在此分享给大家. 向上转型 向上转型是用来表现新类和基类之间的关系.在传统中,由导出类转型成基类,在继承图中 ...

  7. CentOS7安装部署squid服务(透明代理+反向代理)

    一.squid服务介绍 Squid是一个高性能的代理缓存服务器,Squid支持FTP.gopher.HTTPS和HTTP协议.和一般的代理缓存软件不同,Squid用一个单独的.非模块化的.I/O驱动的 ...

  8. 如何用Jmeter做接口测试

    Jmeter介绍&测试准备: Jmeter介绍:Jmeter是软件行业里面比较常用的接口.性能测试工具,下面介绍下如何用Jmeter做接口测试以及如何用它连接MySQL数据库. 前期准备:测试 ...

  9. hdu 1054 Strategic Game (简单树形DP)

    Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  10. 安装lispbox出现:error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory

    如下图,运行lispbox出现如下报错(第一个命令): 检索之后发现解决办法:Solution to libjpeg.so.62 输入一下两条命令(第二条也必须执行): sudo apt-get up ...