没有对象?new一个吧。不行new两个
1Final
1修饰class 最终的类不能被继承
2修饰方法 不允许复写
3修饰filed变量 变为常量
2多态
在面向对象语言中,接口的多种不同的实现方式即为多态。
自动装箱、自动拆箱
package com.android;
public class demo20 {
public static void main(String[] args) {
String s1="abc";
String s2="abc";
String s3=new String("abc");
String s4=new String("abc");
System.out.println(s1==s2);
System.out.println(s2==s3);
System.out.println(s3==s4);
int i=10;
int j=new Integer(10);//自动拆箱
Integer k=new Integer (10);
Integer h=10;//自动装箱
System.out.println(i==k);//此时k自动拆箱
}
}
3面向对象
继承 、构造方法 、修饰符、方法的重写、
package com.ooa.android;
public class Person {
private int age ;
private String name ;
public Person(){
System.out.println("父类构造器");
}
public Person (int age,String name){
System.out.println("父类有惨构造器");
}
public void eat(){
System.out.println("父类吃饭的方法");
}
public void sleep(){
System.out.println("父类睡觉方法");
}
}
--------------------------------------------------------------
package com.ooa.android;
import org.omg.Messaging.SyncScopeHelper;
public class Student extends Person {
int classroom;
public Student (){
super();//默认,不写也会生成
System.out.println("子类构造器");
}
public Student (int age,String name,int classroom){
super( age, name);
this.classroom =classroom ;
System.out.println("子类有惨构造器");
}
@Override
public void eat(){
System.out.println("重写吃方法");
}
@Override
public void sleep() {
System.out.println("子类睡觉方法");
}
public void study(){
System.out.println("学生子类学习方法");
}
}
-----------------------------------------------------------
package com.ooa.android;
public class Test {
public static void main(String[] args) {
// 生成无惨对象的时候,先调用父类的无惨构造器,后调用子类的无惨构造器
Student s1 = new Student();
// 生成有惨对象的时候,先调用父类的有惨构造器,后调用子类的有惨构造器
Student s2 = new Student(18, "李明", 15073);
s1.sleep();
// s1.eat();
// s1.study();
// s2.eat();
// s2.study();
Person p1=new Person();
Person p2=new Person(19,"张三");
// p1.eat();
// p2.eat();
//判断s1是否为person的对象
if(s1 instanceof Student){
s1.eat();
// ((Student)s1).eat();
}
}
}
_______________________________________________________________
package com.android;
public class Student {
private String name;
private int age ;
public Student(){
}
public Student(String name){
this.name=name;
}
public void study(){
System.out.println("学习");
}
public String sing(int num){
System.out.println("歌名");
return "歌名";
}
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;
}
}
---------------------------------------------------------------
4方法的重载
package com.ooa.android;
public class Dog {
//方法的重载,同一个类中方法名称相同,参数列表不同
//多态的体现
public void voice(){
System.out.println("无惨方法");
}
public void voice(int age){
System.out.println("你的年龄是:"+age+"我不咬你");
}
public void voice(String name){
System.out.println("看见你"+name+"就想咬你");
}
public static void main(String[] args) {
Dog dog=new Dog();
dog.voice();
dog.voice(18);
dog.voice("小黄");
}
}
5String 的一些方法
package com.android;
public class demo21 {
public static void main(String[] args) {
String s1=new String("23");
s1.toCharArray();
s1.toString();
s1.hashCode();
System.out.println(s1.toCharArray());//
System.out.println(s1.toString());//输出字符串
System.out.println(s1.hashCode());//哈希码
System.out.println(s1);
int a =Integer.parseInt(s1);//字符串转换int类型
System.out.println(a);
}
}