目录
第一章 开宗明义
- 讲解面向对象编程的概念
- 讲解面向对象三大特征
- 开发"天气预报"项目
第二章 面向对象的基础认知
2-1 介绍类与对象
JAVA创建类的语法:
public class Dog {
//类的内容
}
创建类的实例对象:
类名 对象名 = new 类名();
2-2 IDEA创建类与对象
public class Dog {
public static void main(String[] args){
Dog duoduo - new Dog();
Dog lucky - new Dog();
}
}
2-3 成员变量
public class Dog { //创建类
String name;
int age;//定义整型变量
float weight;//定义浮点型变量
public static void main(String[] args){ //主方法
Dog duoduo = new Dog(); //转换对象
Dog lucky = new Dog();
duoduo.name = "多多";
duoduo.age = 6;
duoduo.weight = 13.5f;
Dog lucky = "Lucky";
lucky.age = 3;
lucky.weight = 10.2f;
System.out.println(duoduo.name + "今天" + duoduo.age + "岁了");//输出信息
System.out.println(lucky.name + "体重" + duoduo.age + "千克");//输出信息
}
}
2-4 方法的作用
public class MethodSample01 {
public String isOddNumber(int num) {
if(num % 2 --- 0) {
return "偶数";
} else {
return "奇数";
}
}
public static void main (String[ ] args) {
/* int a = 10;
if(a % 2 == 0) {
System.out.println(a + "是偶数");
} else {
System.out.println(a + "是奇数");
}
int b = 5;
if(b % 2 ==0);{
System.out.println(b + "是偶数");
}else {
System.out.println(a + "是奇数");
*//}
int a = 10;
MethodSample01 macthodSample01 = new MethodSampleo1( );
String r1 = methodSample01.isOddNumber(a);
System.out.println(a + "是" + r1);
int b =5;
System.out.println( b +"是" + r2);
}
}
public class MethodSample01 {
public String isOddNumber(int num) {
System.out.println("原始数字为:" + num);
if(num % 2 --- 0) {
return "偶数";
} else {
return "奇数";
}
}
public static void main (String[ ] args) {
/* int a = 10;
if(a % 2 == 0) {
System.out.println(a + "是偶数");
} else {
System.out.println(a + "是奇数");
}
int b = 5;
if(b % 2 ==0);{
System.out.println(b + "是偶数");
}else {
System.out.println(a + "是奇数");
*//}
int a = 10;
MethodSample01 macthodSample01 = new MethodSampleo1( );
String r1 = methodSample01.isOddNumber(a);
System.out.println(a + "是" + r1);
int b =5;
System.out.println( b +"是" + r2);
}
}
第三章 面向对象特性及封装
3-1 packge- 包
创建package-包
package com.imooc.object.project.sample2;
//import关键字用于导入其他包的类
import com.imooc.object.project.sample1.PackageSample01;
public class PackageSample02 {
public static void main(Strin [ ] args) {
//要使用其他包下的类必须先import导入
PackageleSample01 packageSample01 = new PackageleSample01();
}
}
3-2访问修饰符
public class PackageSample01 {
//public代表其他任何类都能访问的成员变量
public String name;
//private void sayHello() {
System.out.println("Hello world");
}
//不写访问修饰符代表是默认修饰符,表示只能被包中其他类访问
void sayGoodbye () {
System.out.println("Good bye!");
}
public static void main (String [ ] args) {
PackageSample01 packageSample01 = new PackageSample01() ;
packeageSampleo1.satHello();
}
3-3 面向对象特性之封装
public class Algorithm {
/**
* 传入五个数,控制台打印升序结果
*@param a 第一个数
*@param b 第二个数
*@param c 第三个数
*@param d 第四个数
*@param e 第五个数
*/
public void sort(int a,int b,int c, int d, int e) {
//冒泡排序算法
int[ ] arr = {a,b,c,d,e};
for (int i = 0;i< arr.length - 1-i;i++) {
for(int j = 0;j<arr.length - 1-i ; j++) {
if(arr[ j ] > arr[j+i]) {
int temp = arr[j] ;
arr[j] = arr[j+1]
arr[j+1] = temp;
} } }
for(int i = 0 ; i<arr.length; i++) {
System.out.print(arr[i] + " ");
} }
public static void main (String [ ] args) {
Algorithm algorithm = new Algorithm();
algorithm.sort (a:82,b:88,c:998,d:223,e:184);
}
public class Sorter {
public static void main (String [ ] args) {
Algorithm algorithm = new Algorithm();
algorithm.sort (a:77,b:91,c:37,d:66,e:102);
}
}
3-4 对成员变量进行读写封装
public class MobileNumber {
1 related promble
public String owner; //所有者
1 related promble
public String areaCode = "86";//国家区号
public long mobileNumber;//手机号
//getter方法,getter方法用于读取成员变量的内容
//getter书写格式,public成员变量类型, get成员变量名( ),PS:首字母大写
public String getOwner( ) {
//this 关键字代表当前对象的...
return this.owner;
}
//setter方法,setter方法用于设置成员变量的内容
//setter书写格式,Public void set成员变量名(新的数据参数)
public void setOwner(String owner) {
this.owner = owner;
}
}
public class MobileNumberTestor {
public static void main(String [ ] args) {
MobileNumber mobileNumber = new MobileNumber();
//mobileNumber.owner = "老齐";
//mobileNumber.areaCode = "84";
}
}
第四章 面向对象特性之继承和多态
4-1 面向对象特性之继承
public class Mark1 {
protected String title;
protected String color;
protected String movie;
public void description() {
System.out.println("型号:" + title);
System.out.println("颜色:" + color);
System.out.println("首次出现的电影:" + movie);
}
private void fire() {
System.out.println("利用手臂燃料泵射出火焰")
public static void main(String[ ] args) {
Mark1 mark1 = new Mark1();
mark1.color = "银灰色";
mark1.movie = "钢铁侠1";
mark1.description();
mark1.fire;
}
}
/jextends关键字用于类的继承
//extends关键字后面是"父类"extends关键字前是"子类"
e//子类会继承父类的(default)/protected/public修饰的成员变量与方法
public class Hulk extends Markl {
public static void main(string[] args){
Hulk hulk=new Hulk();
hulk.title="反浩克装甲";
hulk.color="红色";
hulk.movie="复仇者联盟3";
hulk.description();
}}
//extends关键字用于类的继承
//extends关键字后面是"父类"extends关键字前是"子类"
//子类会继承父类的(default)/protected/public修饰的成员变量与方法
public class Hulk extends Markl {
private void repair(){
System.out.println("弹射备件替换战损组件");
public static void main(string[] args){
Hulk hulk=new Hulk();
hulk.title="反浩克装甲"; I
hulk.color="红色";
hulk.movie="复仇者联盟3";
hulk.description(();
// hulk.fire();
hulk.repair();
}
}
public class Mark85 extends Markl{
private void createShield(){
System.out.println("利用纳米技术生成防御护盾");}
public static void main(String[] args){
Mark85 mark85=newMark85();
mark85.title="马克85型";
mark85.color="红色";
mark85.movie-"复仇者联盟4";
mark85.description();
mark85.createShield();
4-2 面向对象特性之多态
public class Chinese implements Language{
@Override
public void voice() {
System.out.println("你好,有什么可以帮到您的?");
}
}
public class English implements Languagel
@Override
public void voice() {
System.out.println("Hi,may I help you?");
}
}
public class French implements Language{ verride{
public void voice() {
System.out.println("Comment puis-je me rendre à l'h pital ?");
}
}
public class CustomerService {
public static void main(String[] args){
Language language=new English();
language.voice();
}}
public class CustomerService {
public Language contact (int areaCode){
if(areaCode==86){
return new Chinese();
}else if(areaCode33){
return new French();
}else{
return new English();
public static void main(String[] args){
Language language=new English();
language.voice();
Language languagel=new Chinese();
languagel.voice();
CustomerServicecs=new CustomerService;
Language language2=cs.contact(areaCode:86);
language2.voice();
)
import com.imooc.objectproject.sample5.system.CustomerService; importcom.imooc.objectprojectsample5.system.Language;
public class Customer {
public static void main(string[] args){
CustomerService customerService=new CustomerService(()
Language lanauaae =customerService.contact(areaCode:33);
language.voice();
}
}
4-4 Arraylist列表类的使用
import java.util.ArrayList;
import java.util.list;
public class ArrayListSample{
public static void main(String[] args){
List bookList=new ArrayList();
}
}
import java.util.ArrayList;
import java.util.list;
public class ArrayListSample{
public static void main(String[] args){
List bookList=new ArrayList();
bookList.add("红楼梦");
bookList.add("西游记");
bookList.add("水浒传");
bookList.add("三国志");
System.outprintln(bookList);
}}
import java.util.ArrayList;
import java.util.list;
public class ArrayListSample{
public static void main(String[] args){
List bookList=new ArrayList();
bookList.add("红楼梦");
bookList.add("西游记");
bookList.add("水浒传");
bookList.add("三国志");
System.outprintln(bookList);
bookList.add(index:0,element:"镜花缘");
System.out.println(bookList);
}
}
public static void main(String[] args){
//泛型
List<string> bookList=newArraList<string>();
bookList.add("红楼梦");
bookList.add("西游记");
bookList.add("水浒传");
bookList.add("三国志");
bookList.add(index:0,element"镜花缘");
System.out.println(bookList);
String bookName = bookList.get(2);
System.out.println(bookName);
}
int size = bookList.size( );
System.out.println(size);
bookList.remove(index:2);
System.out.println(bookList)
bookList.remove(index:bookList.size() - 1);
System.out.println(bookList)