一、面向对象主线

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. 洛谷 题解 P3385 【【模板】负环】

    一.声明 在下面的描述中,未说明的情况下,\(N\) 是顶点数,\(M\)是边数. 二.判负环算法盘点 想到判负环,我们会想到很多的判负环算法.例如: 1. Bellman-Ford 判负环 这个算法 ...

  2. 一位资深程序员面试Python工程师的岗位心得和历程【新手必须】

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:程序员阿牛说一些面试的心得体会: 1.简历制作我做了两份简历,用两个手机 ...

  3. 【Web技术】314- 前端组件设计原则

    点击上方"前端自习课"关注,学习起来~ 译者:@没有好名字了译文:https://github.com/lightningminers/article/issues/36,http ...

  4. 聊聊JS的二进制家族:Blob、ArrayBuffer和Buffer

    事实上,前端很少涉及对二进制数据的处理,但即便如此,我们偶尔总能在角落里看见它们的身影. 今天我们就来聊一聊前端的二进制家族:Blob.ArrayBuffer和Buffer 概述 Blob: 前端的一 ...

  5. vivado三人表决仿真

    概述 下面以三人表决电路的verilog仿真来了解一下vivado软件的使用. 编写设计文件 首先可以在开始的界面通过create new project来新建工程,也可以通过file-->pr ...

  6. QQ音乐接口api,包括付费音乐、无损音乐、高品质音乐地址解析接口api

    QQ音乐网站所有音乐(包括付费.无损等版权音乐解析接口地址url). mp3 普通高品 http://dl.stream.qqmusic.qq.com/M5000012gqVh4fFvVK.mp3?v ...

  7. [译]C# 7系列,Part 1: Value Tuples 值元组

    Mark Zhou写了很不错的一系列介绍C# 7的文章,虽然是2年多年前发布的,不过对于不熟悉C# 7特性的同学来说,仍然有很高的阅读价值. 原文:https://blogs.msdn.microso ...

  8. .net core控制台程序中使用原生依赖注入

    如果要在程序中使用DbContext,则需要先在Nuget中安装Microsoft.EntityFrameworkCore.SqlServer using ConsoleApp1.EntityFram ...

  9. isNotBlank()和isNotEmpty()总结

    import org.apache.commons.lang.StringUtils; import org.junit.Test; public class Test{ //总结:isNotBlan ...

  10. sql server查询(SELECT ,where,distinct,like 查询,in,is null,group by 和having,order by,as)

    基本查询: 实例表 示例表 --部门表 create table dept( deptno int primary key,--部门编号 dname ),--部门名 loc )--地址 ); --雇员 ...