Java高级 面向对象(封装 继承 多态 )
第一点:
成员变量
属性用成员变量去表示
public String name;
成员方法
属性用成员变量去表示
public void eat(){
//输在控制台的语句
System.out.println("L LOVE SEE you eat english");
}
第二点:创建一个对象
People d = new People();
System.out.println(d.name);//获取成员变量name
d.eat();//获取成员方法d.eat();
第三点:创建对象
Student s1 = new Student();
s1.name="湖南";
s1.age = 30;
s1.study();
System.out.println(s1.name+","+s1.age);
面向对象编程思想,首先理解什么是对象 你要用对象干什么事情。利用对象思想去解决问题。
package com.D1;
public class Student {
String name;
int age;
//无惨构造
public Student() {
super();
// TODO Auto-generated constructor stub
}
//有参构造
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
//get and set 的方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void study(){
System.out.println("好好学习,天天向上");
}
public void doHomeWork(){
System.out.println("键盘敲烂,月薪过万");
}
public void play(){
System.out.println("玩玩游戏,人生百拜拜");
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
package com.D1;
public class StudentTest {
public static void main(String[] args) {
//创建对象名为student
Student s = new Student();
System.out.println(s);
//使用对象成员变量
System.out.println(s.name+","+s.age);
System.out.println("调用方法用 对象中S.属性名 修饰成员变量");
s.name = "我是student对象湖北";
s.age = 28;
//调用对象的方法
System.out.println("调用方法用 对象中S.动作名(); 修饰成员方法");
s.study();
s.doHomeWork();
s.play();
System.out.println(s.name+","+s.age);
//创建第二个对象
Student s1 = new Student();
s1.name="湖南";
s1.age = 30;
s1.study();
System.out.println(s1.name+","+s1.age);
//创建第三个对象
Student s2 = new Student();
s2.name="河北";
s2.age = 30;
System.out.println(s2.name+","+s2.age);
System.out.println(s1==s2);
//创建第四个对象
Student s3 = new Student();
s3.name="河南";
s3.age = 20;
System.out.println(s3.name+","+s3.age);
System.out.println(s1==s3);
}
}
package com.D2;
public class Student {
//成员变量
private String name;
private int age;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
// //定义一个设置姓名的方法
// public void setName(String name1){
// name = name1;
// }
// //定义一个获取姓名的方法
// public String getName(){
// return name;
// }
// //设置年龄
// public void setAge(int age1){
// if(age1>=0 && age1<=150){
// age = age1;
// }else{
// System.out.println("年龄不合法");
// }
// }
// public int getAge(){
// return age;
// }
}
package com.D2;
public class StudentTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu = new Student();
//设置学生的姓名
// stu.name = "maomao";
stu.setName("兴旺里路mao mao mao");
//获取学生的姓名
System.out.println(stu.getName());
//设置学生的年龄
stu.setAge(17);
System.out.println(stu.getAge());
Student stu1 = new Student();
stu1.setName("天行健,举哀天下名");
System.out.println(stu1.getName());
//设置学生的年龄
stu1.setAge(34);
System.out.println(stu1.getAge());
Student stu2 = new Student();
stu1.setName("生在盛世,当不服盛世");
System.out.println(stu1.getName());
//设置学生的年龄
stu1.setAge(23);
System.out.println(stu1.getAge());
}
}
String 字符串的学习过程。
package String;
public class Demo1 {
public static void main(String[] args) {
String str1 = "我爱青年";
int l = str1.length();
System.out.println("字符长度为"+str1.length());
String str2 = "abcde";
char index = str2.charAt(4);
System.out.println(index);
String str3 = "加油!";
String str4 = str3.concat("奥利给");
System.out.println(str4);
String str5 = "hello.java";
boolean boo1 = str5.endsWith(".java");
System.out.println(boo1);
String str6 = "abcdefehcd";
int index1 = str6.indexOf("cd");
System.out.println(index1);
String str7 = "abcdefehcd";
int index2 = str7.lastIndexOf("cd");
System.out.println(index2);
String str8 ="XXX,我真的想骂你";
String str9 = str8.replace('X', '*');
System.out.println(str9);
String str10 = "ABC你好y";
String str11 = str10.toLowerCase();
System.out.println(str11);
String str12 = "ABC你好y";
String str13 = str12.toUpperCase();
System.out.println(str13);
String str14 = " 1 23 ";
String str15 = str14.trim();
System.out.println(str15);
}
}
package String;
public class Demo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={11,11,23,4,3678,245,34,3,67,89,345};
//"[1,2,3]"
//调用方法,返回拼接好的字符串
String str = arrayToString(arr);
System.out.println(str);
}
public static String arrayToString(int[] arr){
//在方法中遍历数组,按照要求进行拼接
String s = "";
s += "[";
//遍历数组
for(int i=0;i
package String;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = scanner.next();
String s = reverse(str);
System.out.println(s);
}
public static String reverse(String str){
//定义一个字符串去作为返回的内容
String s = "";
//倒叙遍历str字符串中的字符
for(int i=str.length()-1;i>=0;--i){
s = s+str.charAt(i);
}
return s;
}
}
package String;
public class Demo4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "";
long time1 = System.currentTimeMillis();
System.out.println(time1);
for(int i=0;i<100000;++i){
s = s+"a";
}
long time2 = System.currentTimeMillis();
System.out.println(time2-time1);
}
}
package String;
public class Demo5 {
public static void main(String[] args) {
// 创建一个36开白可变的字符串对象,不包含任何内容
StringBuilder sb = new StringBuilder();
System.out.println(sb);
System.out.println(sb.length());
//将一个字符串转换为可变内容的字符串
StringBuilder sb1 = new StringBuilder("hello");
System.out.println(sb1);
System.out.println(sb1.length());
}
}
package String;
public class Demo6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuilder sb = new StringBuilder();
StringBuilder sb2 = sb.append("hello");
System.out.println(sb);
System.out.println(sb==sb2);
sb.append(" AAAAhellor");
sb.append("BBBBworldr");
sb.append("CCCCjavar");
sb.append(100);
//链式编程的定义
sb.append(" hellor ").append("worldr").append("javar").append(100);
System.out.println(sb);
//将字符串反转
sb.reverse();
System.out.println(sb);
}
}
package String;
public class Demo7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "";
StringBuilder sb = new StringBuilder(s);
//获取当前这一时刻
long time1 = System.currentTimeMillis();
System.out.println(time1);
for(int i=0;i<100000;++i){
sb.append("a");
}
long time2 = System.currentTimeMillis();
System.out.println(time2-time1);
s = sb.toString();
}
}
package String;
public class Demo8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={145,2,3,34,89};
//"[1,2,3]"
//调用方法,返回拼接好的字符串
String str = arrayToString(arr);
System.out.println(str);
}
public static String arrayToString(int[] arr){
//在方法中遍历数组,按照要求进行拼接
// String s = "";
StringBuilder s = new StringBuilder("");
// s += "[";
s.append("[");
//遍历数组
for(int i=0;i
package String;
import java.util.Scanner;
public class Demo9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = scanner.next();
String s = reverse(str);
System.out.println(s);
}
public static String reverse(String str){
// //定义一个字符串去作为返回的内容
// String s = "";
// //倒叙遍历str字符串中的字符
// for(int i=str.length()-1;i>=0;--i){
// s = s+str.charAt(i);
// }
return new StringBuilder(str).reverse().toString();
}
}
package String;
public class Snippet {
public static void main(String[] args) {
String str1 = "我爱青年";
int l = str1.length();
System.out.println("字符串的长度为:"+l);
String str2 = "abcde";
char index = str2.charAt(4);
System.out.println(index);
String str3 = "加油!";
String str4 = str3.concat("奥利给");
System.out.println(str4);
String str5 = "hello.java";
boolean boo1 = str5.endsWith(".java");
System.out.println(boo1);
String str6 = "abcdefehcd";
int index1 = str6.indexOf("cd");
System.out.println(index1);
String str7 = "abcdefehcd";
int index2 = str7.lastIndexOf("cd");
System.out.println(index2);
String str8 ="XXX,我真的想骂你";
String str9 = str8.replace('X', '*');
System.out.println(str9);
String str10 = "ABC你好y";
String str11 = str10.toLowerCase();
System.out.println(str11);
String str12 = "ABC你好y";
String str13 = str12.toUpperCase();
System.out.println(str13);
String str14 = " 1 23 ";
String str15 = str14.trim();
System.out.println(str15);
}
}
Arraylist的集合
package arraylist;
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo1 {
public static void main(String[] args) {
// 1.创建一个集合
ArrayList list = new ArrayList();
//2.给集合添加元素
//创建学生对象
Student stu0 = new Student("我是要删的数据",18);
Student stu1 = new Student("狐疑",18);
Student stu2 = new Student("糊涂",19);
Student stu3 = new Student("呼啸",20);
Student stu4 = new Student("环宇",21);
list.add(stu0);
list.add(stu1);
list.add(stu2);
list.add(stu3);
list.add(stu4);
list.hashCode();
//3.删除集合中的指定元素 boolean remove(int index)
list.remove(0);
//4.获取集合中指定索引的元素 Object get(int index)
System.out.println(list.get(0));
//5.修改集合中指定元素的值
//public E set(int index,E element)修改指定索引处的元素,返回被修改的元素
list.set(2, new Student("maomao",21));
//返回集合中元素的个数 int size()
int count = list.size();
System.out.println("集合中的元素个数为:"+count);
System.out.println("何为编程?");
//遍历元素
System.out.println("遍历元素第一种方式·");
for (int i = 0; i < args.length; i++) {
String string = args[i];
System.out.println(i);
}
System.out.println(list);
System.out.println("遍历第二种方式");
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
Object object = (Object) iterator.next();
System.out.println(list);
System.out.println(list.size());
}
System.out.println("第三种方式");
for (Object object : list) {
System.out.println(list);
}
}
}
package arraylist;
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo2 {
public static void main(String[] args) {
//1.创建一个集合
ArrayList list = new ArrayList();
//2.往集合中添加3个字符串
list.add("诸葛亮");
list.add("刘备");
list.add("张飞");
list.add("李四");
list.add("我是list集合");
//3-4遍历集合
for(int i=0;i
package arraylist;
public class Student {
private String name;
private int age;
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Student() {
super();
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "Student[age="+age+",name="+name+"]";
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return super.hashCode();
}
}
案例接口。
package interfacea;
public interface USBA {
public void turnOn(); //设备启动'
public void turnruning(); //设备运行
public void turnOff(); //设备关闭
public void name(); //设备名称
public void color(); //设备颜色
public void height();//设备高度
public void weight();//设备宽度
public void length(); //设备长度
public void m();//设备的M方法
}
package interfacea;
public class aer implements USBA{
@Override
public void turnOn() {
// TODO Auto-generated method stub
System.out.println("are已启动,请开始以下程序");
}
@Override
public void turnruning() {
// TODO Auto-generated method stub
System.out.println("are开始运行自己设定的程序");
}
@Override
public void turnOff() {
// TODO Auto-generated method stub
System.out.println("手机结束自己运行的程序系统");
}
@Override
public void name() {
// TODO Auto-generated method stub
System.out.println("are名称为huaweiwww");
}
@Override
public void color() {
// TODO Auto-generated method stub
System.out.println("are色彩为back");
}
@Override
public void height() {
// TODO Auto-generated method stub
System.out.println("are高度为8cm");
}
@Override
public void weight() {
// TODO Auto-generated method stub
System.out.println("are宽度为15cm");
}
@Override
public void length() {
// TODO Auto-generated method stub
System.out.println("are长度为20cm");
}
@Override
public void m() {
// TODO Auto-generated method stub
System.out.println("m有飒飒");
}
}
package interfacea;
public class ElectronicWhiteboard implements USBA{
@Override
public void turnOn() {
// TODO Auto-generated method stub
System.out.println("电子白板真在运行,打开你要的软件,并开始运行");
}
@Override
public void turnruning() {
// TODO Auto-generated method stub
System.out.println("电子白板真在运行,正在运行这个程序,并开始运行");
}
@Override
public void turnOff() {
// TODO Auto-generated method stub
System.out.println("电子白板结束自己运行的程序系统");
}
@Override
public void name() {
// TODO Auto-generated method stub
System.out.println("电子白板名称为huaweiwww");
}
@Override
public void color() {
// TODO Auto-generated method stub
System.out.println("电子白板色彩为back");
}
@Override
public void height() {
// TODO Auto-generated method stub
System.out.println("电子白板高度为150cm");
}
@Override
public void weight() {
// TODO Auto-generated method stub
System.out.println("电子白板宽度为200cm");
}
@Override
public void length() {
// TODO Auto-generated method stub
System.out.println("电子白板长度为300cm");
}
@Override
public void m() {
// TODO Auto-generated method stub
System.out.println("m有飒飒");
}
}
package interfacea;
public class Mousea implements USBA {
@Override
public void turnOn() {
// TODO Auto-generated method stub
System.out.println("鼠标已启动,请开始以下程序");
}
@Override
public void turnruning() {
// TODO Auto-generated method stub
System.out.println("鼠标开始运行自己设定的程序");
}
@Override
public void turnOff() {
// TODO Auto-generated method stub
System.out.println("鼠标结束自己运行的程序系统");
}
@Override
public void name() {
// TODO Auto-generated method stub
System.out.println("鼠标名称为huaweiwwwe");
}
@Override
public void color() {
// TODO Auto-generated method stub
System.out.println("鼠标色彩为back");
}
@Override
public void height() {
// TODO Auto-generated method stub
System.out.println("鼠标高度为50mm");
}
@Override
public void weight() {
// TODO Auto-generated method stub
System.out.println("鼠标宽度为500mm");
}
@Override
public void length() {
// TODO Auto-generated method stub
System.out.println("鼠标长度为900mm");
}
@Override
public void m() {
// TODO Auto-generated method stub
System.out.println("m有飒飒");
}
}
package interfacea;
public class Phonea implements USBA{
@Override
public void turnOn() {
// TODO Auto-generated method stub
System.out.println("手机已启动,请开始以下程序");
}
@Override
public void turnruning() {
// TODO Auto-generated method stub
System.out.println("手机开始运行自己设定的程序");
}
@Override
public void turnOff() {
// TODO Auto-generated method stub
System.out.println("手机结束自己运行的程序系统");
}
@Override
public void name() {
// TODO Auto-generated method stub
System.out.println("手机名称为huaweiwww");
}
@Override
public void color() {
// TODO Auto-generated method stub
System.out.println("手机色彩为back");
}
@Override
public void height() {
// TODO Auto-generated method stub
System.out.println("手机高度为8cm");
}
@Override
public void weight() {
// TODO Auto-generated method stub
System.out.println("手机宽度为15cm");
}
@Override
public void length() {
// TODO Auto-generated method stub
System.out.println("手机长度为20cm");
}
@Override
public void m() {
// TODO Auto-generated method stub
System.out.println("m有飒飒");
}
}
package interfacea;
public class telephone implements USBA {
@Override
public void turnOn() {
//
System.out.println("电话已启动,请打电话");
}
@Override
public void turnruning() {
// TODO Auto-generated method stub
System.out.println("电话开始进行联系对方");
}
@Override
public void turnOff() {
// TODO Auto-generated method stub
System.out.println("电话结束:请把电源turnoff");
}
@Override
public void name() {
// TODO Auto-generated method stub
System.out.println("电话名称为大哥大");
}
@Override
public void color() {
// TODO Auto-generated method stub
System.out.println("电话色彩为开门红");
}
@Override
public void height() {
// TODO Auto-generated method stub
System.out.println("电话高度为6cm");
}
@Override
public void weight() {
// TODO Auto-generated method stub
System.out.println("电话宽度为12cm");
}
@Override
public void length() {
// TODO Auto-generated method stub
System.out.println("电话长度为18cm");
}
@Override
public void m() {
// TODO Auto-generated method stub
System.out.println("MMMMMMMMMMMMMM");
}
}
package interfacea;
import java.util.ArrayList;
public class DwmoTesta {
public static void main(String[] args) {
ArrayList usbs =new ArrayList ();
usbs.add( new Mousea()); //类
usbs.add(new Keyboarda());
usbs.add(new Phonea());
usbs.add(new ElectronicWhiteboard ());
usbs.add(new telephone ());
usbs.add(new aer());
usbs.add(new HuBING());
System.out.println("用for循化输出内容");
for (int i = 0; i < usbs.size(); i++) {
usbs.get(i).height();
}
System.out.println("height");
for (int i = 0; i < usbs.size(); i++) {
usbs.get(i).weight();
}
System.out.println("weight");
for (int i = 0; i < usbs.size(); i++) {
usbs.get(i).length();
}
System.out.println("设定设备的长:宽:高");
for (int i = 0; i < usbs.size(); i++) {
usbs.get(i).turnOn(); //接口方法
}
System.out.println("设定程序启动的系统");
System.out.println("============================");
for (int i = 0; i < usbs.size(); i++) {
usbs.get(i).turnOff();
}
System.out.println("设置程序正在运行的程序");
System.out.println("============================");
for (int i = 0; i < usbs.size(); i++) {
usbs.get(i).turnruning();
}
System.out.println("设置程序名称");
System.out.println("**********************");
for (int i = 0; i < usbs.size(); i++) {
usbs.get(i).name();
}
System.out.println("设置设备色彩为");
System.out.println("**********************");
for (int i = 0; i < usbs.size(); i++) {
usbs.get(i).color();
}
for (int i = 0; i < usbs.size(); i++) {
usbs.get(i).m();
}
}
}



