1、面向对象的基础认知
介绍类与对象
IDEA创建类与对象
public class Dog {
public static void main(String[] args) {
Dog doudou = new Dog();
Dog lucky = new Dog();
}
}
成员变量
public class Dog
String name;
int age;
float weight;
public static void main(Stringll args) {
Dog duoduo=new Dog();
duoduo.name="多多";
duoduo.age=6;
duoduo.weight =13.5f;
Dog lucky=new Dog();
lucky.name="Lucky";
lucky.age = 3;
lucky.weiqht =10.2f;
System.out.println(duoduo.name+"今天"+duoduo.age+"岁了");
System.out.println(lucky.name + "体重"+ duoduo.weight+"千克");
}
}
方法的作用
public class MethodSample01 {
public String isOddNumber(int num){
if(num % 2 == 0) {
return "偶数";
}else{
return "奇数";
}
}
public static void main(String[l 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(b +"是奇数");
}
}
}
public class MethodSample01 {
public String isOddNumber(int num){
System.out.println("原始数字为:" + num);
if(num % 2 == 0) {
return "偶数";
}else{
return "奇数";
}
}
public static void main(String[l args){
int a = 10;
MethodSample01 methodSample01 = newMethodSample01();
String r1=methodSample01.isOddNumber(a);
System.out.println(a + "是" + r1);
int b = 5;
String r2=methodSample01.isOddNumber(b);
System.out.println(b + "是" + r2);
}
}
2、面向对象特性之封装
包-package
package com.imooc.objectproject.samplel;
importcom.imooc.objectproject.sample2.PackageSample02;
public class PackageSample03{
public static void main(String[] args){
//同一个包下的类无需import导入
PackageSample01 packageSample01=new PackageSample01();
PackaqeSample02 packageSample02 = new PackaqeSample02();
}
}
//package关键字用于说明当前类归属于哪个包
//package后面的包名与实际存储的目录要保持一致
package com.imooc.obiectproject.sample1;
public class PackageSample01
}
package com.imooc.objectproject.sample2
//import关键字用于导入其他包的类
importcom.imooc.objectproject.sample1.PackageSample01;
public class PackageSample02{
public static void main(String[] arqs){
/要使用其他包下的类必须事先import导入
PackaqeSample01 packaqeSample01=new PackaqeSample01();
}
}
访问修饰符
/.../
package com.imooc.objectproject.samplel;
public class PackageSample01{
//public代表其他任何类都能访问的成员变量
public String name;
//private代表只能在当前类中使用
private void sayhello(){
System.out.println("Hello world!");
}
//不写访问修饰符代表是默认修饰符,表示只能被包中其他类访问
void sayGoodbye(){
System.out.println("Good bye!");
}
}
package com.imooc.objectproject.samplel;
importcom.imooc.obiectproject.sample2.PackageSample02;
public class PackageSample03{
public static void main(String[] args){
//同一个包下的类无需import导入
PackaqeSample01 packageSample01 = new PackageSample01();
//IDEA在书写时会自动产生import语句
PackageSample02 packageSample02 = new PackageSample02();
packageSample01.name="Lily";
packageSample01.sayGoodbye();
面向对象特性之封装
对成员变量进行读写封装
package com.imooc.objectprojectsample3;
//张三开发的排序算法类
public class Algorithm {
/**
*传入五个数,控制台打印升序结果
*@parama 第一个数
*@paramb第二个数
*@paramc 第三个数
*@param d 第四个数
*@parame 五个数
*/
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++){
for(int j = 0; j < arr.length-1-i; j++){
if(arr[j]>arr[j+1]){
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,e184);
}
}
packagecom.imooc.objectprojectsample3;
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);
}
}
package com.imooc.objectproject.sample3;
public class MobileNumber {
//成员变量私有化
private String owner; //所有者
private String areaCode ="86";//国家区号
private long mobileNumber;//手机号
//getter方法,qetter方法用于读取成员变量的内容
//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 string getAreaCode(){
return this.areaCode;
}
public long getMobileNumber() {
return mobileNumber;
}
public void setMobileNomber(long mobileNumber){
this.mobileNumber=mobileNumber;
}
}
public class MobileNumberTestor{
public static void main(String[] args){
MobileNumber mobileNumber= new MobileNumber();
// mobileNumber.owner-"老齐"
// mobileNumber.areaCode="84";
mobileNumber.setowner("老齐");
String owner = mobileNumber.getowner();
System.out.println(owner);
String areaCode=mobileNumber.getowner();
System.out.println(areaCode);
mobileNumber.setMobileNumber(133888888881);
}
}
3、面向对象特性之继承和多态
面向对象特性之继承
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();
}
面向对象特性之多态
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();
}
}
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)