Fix class không thể implements interface

public class a implements b{}
nó xuất thông báo lỗi
Cycle detected: the type b cannot extend/implement itself or one of its own member types

Bạn cho xem 1 dòng mã nên không biết các liên hệ giữa các lớp thế nào. Bạn xem thử:

2 Likes
package com.example.service;

public interface GradeService{

}
package com.example.service.impl;
public class GradeServiceImpl implements  GradeService{
}

Post đoạn code thực tế lên đi bạn. Đừng xoá bớt đi không là nó không còn lỗi nữa đâu

4 Likes
package com.example.manager_student.service.impl;

import java.util.List;
import java.util.Optional;

import com.example.manager_student.domain.Grade;
import com.example.manager_student.repository.GradeRepository;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
@Service
public class GradeServiceImpl implements GradeService {
    @Autowired
    GradeRepository gradeRepository;

    public long count() {
        return gradeRepository.count();
    }

    public void delete(Grade entity) {
        gradeRepository.delete(entity);
    }

    public void deleteAll() {
        gradeRepository.deleteAll();
    }

    public void deleteAll(Iterable<? extends Grade> entities) {
        gradeRepository.deleteAll(entities);
    }

    public void deleteAllById(Iterable<? extends Integer> ids) {
        gradeRepository.deleteAllById(ids);
    }

    public void deleteAllByIdInBatch(Iterable<Integer> ids) {
        gradeRepository.deleteAllByIdInBatch(ids);
    }


    public void deleteById(Integer id) {
        gradeRepository.deleteById(id);
    }



    public boolean existsById(Integer id) {
        return gradeRepository.existsById(id);
    }

    public List<Grade> findAll() {
        return gradeRepository.findAll();
    }

    public Page<Grade> findAll(Pageable pageable) {
        return gradeRepository.findAll(pageable);
    }

    public Optional<Grade> findById(Integer id) {
        return gradeRepository.findById(id);
    }

    public Page<Grade> findByNameContaining(String name, Pageable pageable) {
        return gradeRepository.findByNameContaining(name, pageable);
    }

    public Grade getById(Integer id) {
        return gradeRepository.getById(id);
    }


    public <S extends Grade> S save(S entity) {
        return gradeRepository.save(entity);
    }

    public <S extends Grade> List<S> saveAll(Iterable<S> entities) {
        return gradeRepository.saveAll(entities);
    } 
}

Cậu đang implement chính class đó, chứ có implement interface GradeService đâu?

4 Likes

Post full stack trace + class liên quan lên chứ post mỗi 1 mẩu code không lỗi liên thì không ai giải thích được đâu bạn

2 Likes

Mình đã sửa đc rồi. Cảm ơn

Uhm, vậy cậu có thể cho tớ biết lý do là gì được không? Và cả cách cậu sửa nữa :smile:

4 Likes

do mình quen dùng eclipse nên đặt tên package giống với eclipse và khi mình chuyển package vào thành package thì lỗi đó không còn

:dizzy_face:

Sorry, tớ không hiểu lắm về vụ package giống eclipse (tại tớ tưởng convention package name chỗ nào cũng như nhau), và chuyển package thành package là gì @@ Cậu có thể nói rõ hơn được không?

2 Likes

Khi đặt tên service.impl thì bên eclipse nó tự hiểu nó là package con của thằng service nhưng bên vscode thì báo lỗi.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?